本文共 9310 字,大约阅读时间需要 31 分钟。
Java??????????
???Java???????????????????????????????????????????????????????????????????????????????????????????????????????????????????Java???????
???????
1.1 ?????
??????????????????????????????????????????????????????????????????????????????????????????????????
1.2 ???????
?Java??????extends??????????????
class ?? extends ?? { // ?????} ?????
public class Fu { // ?? public void show() { // ???? System.out.println("show?????"); }}public class Zi extends Fu { // ?? public void method() { // ???????? System.out.println("method?????"); }}public class Demo { // ??? public static void main(String[] args) { Fu f = new Fu(); // ?????? f.show(); // ?????? Zi z = new Zi(); // ?????? z.method(); // ?????? z.show(); // ??????????? }} 1.3 ????????
?????
?????
1.4 ???????
???????????????????????????????????
- is-a??????
Student?Teacher???Person????Person??????? - has-a????????
Car??????Engine???Car??????Vehicle?????
????????????
?Java???????????????????????????
2.1 ??????????
??????????????????????
?????
class Fu { // ?? int num = 10; // ????}class Zi { // ?? int num = 20; // ???? public void show() { int num = 30; // ?????? System.out.println(num); // ??30 }}public class Demo1 { public static void main(String[] args) { Zi z = new Zi(); z.show(); // ????????30 }} 2.2 super???
super?this????????????????
super??????????????????????????this??????????????????????????
super?????
this.???????????????super.???????????????
this.???????????????super.???????????????
this(??)???????????super(??)???????????
?????
public class Fu { public void show() { System.out.println("Fu?show()?????"); }}public class Zi extends Fu { @Override public void show() { System.out.println("Zi?show()?????"); super.show(); // ?????show?? }}public class Demo { public static void main(String[] args) { Zi z = new Zi(); z.show(); // ??Zi?show()????? }} 2.3 ????????????
?????????????????????????????????????????????super()????????????????????????????????
?????
public class Fu { public Fu() { System.out.println("Fu???????"); } public Fu(String name, int age) { System.out.println("Fu???????"); }}public class Zi extends Fu { public Zi() { super(10, 20); // ????????????? System.out.println("Zi?????"); }}public class Demo { public static void main(String[] args) { Zi z = new Zi(); System.out.println("Zi?????"); }} 2.4 ????????????
???????????????????????
?????
public class Fu { private void show() { System.out.println("Fu?show()?????"); }}public class Zi extends Fu { @Override public void show() { System.out.println("Zi?show()?????"); }}public class Demo { public static void main(String[] args) { Zi z = new Zi(); z.show(); // ??Zi?show()????? }} 2.5 ????
???????
????????????????????????????????????????????????????????????????
?????????
- ??????????????
- ??????????????????????????
???@Override???
?Java??@Override???????????????????????????@Override??????
?????
public class Fu { public void show() { System.out.println("Fu?show()?????"); }}public class Zi extends Fu { @Override public void show() { System.out.println("Zi?show()?????"); }}public class Demo { public static void main(String[] args) { Zi z = new Zi(); z.show(); // ??Zi?show()????? }} ?????????
3.1 Java?????
Java?????????????????
class A extends B, C { // ???Java??????} 3.2 ????
Java??????????
public class Granddad { // ??? public void drink() { System.out.println("?????"); }}public class Father extends Granddad { // ?????????? public void smoke() { System.out.println("?????"); }}public class Mother { // ??? public void dance() { System.out.println("?????"); }}public class Son extends Father { // ?????????? // ?????????drink()?smoke()??} 3.3 final??
final??????????????????????
?????
public final class Person { // ????? private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}public class Student extends Person { // ?????Person? public Student(String name, int age) { super(name, age); } public void study() { System.out.println("?????"); }} 3.4 static??
static????????????????????????????????
?????
public class Student { public static String university; // ???? private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public void show() { System.out.println(name + "," + age + "," + university); }}public class Demo { public static void main(String[] args) { Student.university = "??????"; Student s1 = new Student("???", 18); s1.show(); Student s2 = new Student("??", 17); s2.show(); }} 3.5 static????
static????????????????????
static????????static?????????????
public class Student { public static String university; // ???? private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public void show() { System.out.println(name + "," + age + "," + university); }}public class Demo { public static void main(String[] args) { Student.university = "??????"; Student s1 = new Student("???", 18); s1.show(); Student s2 = new Student("??", 17); s2.show(); }} ??????
4.1 ?????
?????
Teacher??Student??????????????????????
Person???????? class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }} Teacher?? class Teacher extends Person { public Teacher(String name, int age) { super(name, age); } public void teach() { System.out.println("?????"); }} Student?? class Student extends Person { public Student(String name, int age) { super(name, age); } public void study() { System.out.println("?????"); }} public class PersonDemo { public static void main(String[] args) { // ???????????? Teacher t1 = new Teacher("???", 18); t1.setName("???"); // ???? t1.setAge(18); // ???? System.out.println(t1.getName() + "," + t1.getAge()); t1.teach(); // ??????? // ???????????? Student s = new Student("??", 17); System.out.println(s.getName() + "," + s.getAge()); s.study(); // ??????? }} 4.2 ???
?????
Cat??Dog?????????????????Animal??Cat?Dog???Animal???????????????
Animal???????? class Animal { private String name; private int age; public Animal(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }} Cat?? class Cat extends Animal { public Cat(String name, int age) { super(name, age); } public void catchMouse() { System.out.println("????"); }} Dog?? class Dog extends Animal { public Dog(String name, int age) { super(name, age); } public void lookDoor() { System.out.println("???"); }} public class AnimalDemo { public static void main(String[] args) { // ??????????? Cat c1 = new Cat(); c1.setName("?"); c1.setAge(5); System.out.println(c1.getName() + "," + c1.getAge()); c1.catchMouse(); // ??????????? Dog d1 = new Dog("?", 6); System.out.println(d1.getName() + "," + d1.getAge()); d1.lookDoor(); }} ????
????????????Java??????????????????????????????????????????????????????????????????????????????????????????????Java?????????????????????????????
发表评论
最新留言
关于作者