package com.zixin.d5_extends;public class People {public void run(){System.out.println("人会跑~~");}}
package com.zixin.d5_extends;public class Student extends People{}
package com.zixin.d5_extends;public class Test {public static void main(String[] args) {Student s =new Student();s.run();}
}
1.什么是继承?继承的好处是啥?
2.继承的格式
3.继承后子类的特点?
package com.zixin.d6_extends_test;public class People {private String name;private int age;public void queryCourse(){System.out.println(name + "再查看课表~~");}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;}
}
package com.zixin.d6_extends_test;public class Student extends People {public void writeInfo(){System.out.println(getName()+"写下了:学习语法,好开心~~");}
}
package com.zixin.d6_extends_test;public class Test {public static void main(String[] args) {Student s =new Student();s.setName("嘻哈");s.setAge(999);System.out.println(s.getName());System.out.println(s.getAge());s.queryCourse();s.writeInfo();}
}
1.继承需要满足什么样的设计规范?
package com.zixin.d7_extends_feature;public class Test {public static void main(String[] args) {Tiger t = new Tiger();
// t.eat();}
}class Animal{private void eat(){System.out.println("动物要吃东西~");}
}class Tiger extends Animal{}
package com.zixin.d7_extends_feature;public class Test {public static void main(String[] args) {Tiger t = new Tiger();
// t.eat();System.out.println(Tiger.location);}
}class Animal{private void eat(){System.out.println("动物要吃东西~");}public static String location = "长隆动物园";
}class Tiger extends Animal{}
1.继承有哪些特点?
子类可以继承父类的属性和行为,但是子类不能继承父类的构造器。
Java是单继承模式:一个类只能继承一个直接父类。
Java不支持多继承、但是支持多层继承。
Java中所有的类都是Object类的子类。
package com.zixin;public class d8_extends_field_method {public static void main(String[] args) {Dog d =new Dog();d.run();d.lookDoor();d.showName();}
}class Animal{public String name = "动物名";public void run(){System.out.println("动物可以跑~");}
}class Dog extends Animal{public String name="狗名";public void lookDoor(){System.out.println("狗可以看门");}public void showName(){
// String name ="局部名";System.out.println(name);System.out.println(this.name);System.out.println(super.name);super.run();run();}public void run(){System.out.println("狗跑的贼快~");}
}
package com.zixin.d9_extends_override;public class Test {public static void main(String[] args) {NewPhone iphone = new NewPhone();iphone.call();iphone.sendMsg();}
}class NewPhone extends Phone{@Overridepublic void call(){super.call();System.out.println("开始视频童话");}@Overridepublic void sendMsg(){super.sendMsg();System.out.println("发送有趣的图片~");}
}
class Phone{public void call(){System.out.println("打电话~");}public void sendMsg(){System.out.println("发短信~");}
}
package com.zixin.d10_extends_constructor;public class Animal {public Animal(){System.out.println("父类Animal无参构造器被执行");}
}
package com.zixin.d10_extends_constructor;public class Dog {public Dog(){System.out.println("子类Dog无参数构造器被执行~");}public Dog(String name){System.out.println("子类Dog有参数构造器被执行");}
}
package com.zixin.d10_extends_constructor;public class Test {public static void main(String[] args) {Dog d1 = new Dog();System.out.println(d1);System.out.println("-------");Dog d2 = new Dog("土狗");System.out.println(d2);}}
1.子类继承父类后构造器的特点是什么样的?
子类中所有的构造器默认都会先访问父类中无参的构造器,再执行自己。
package com.zixin.d11_extends_constructor;public class People {private String name;private int age;public People() {}public People(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;}
}
package com.zixin.d11_extends_constructor;public class Teacher extends People{public Teacher(){}public Teacher(String name , int age){super(name,age);}
}
package com.zixin.d11_extends_constructor;public class Test {public static void main(String[] args) {Teacher t = new Teacher("王阳明",14);System.out.println(t.getAge());System.out.println(t.getName());}
}
1、super调用父类构造器的作用是什么?
通过调用父类有参数构造器来初始化继承自父类的数据
package com.zixin.d12_this;public class Student {private String name;private String schoolName;public Student(){}public Student(String name){this(name,"之见者");}public Student(String name, String schoolName) {this.name = name;this.schoolName = schoolName;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSchoolName() {return schoolName;}public void setSchoolName(String schoolName) {this.schoolName = schoolName;}
}
package com.zixin.d12_this;public class Test {public static void main(String[] args) {Student s1 =new Student("许青","七血瞳");System.out.println(s1.getName());System.out.println(s1.getSchoolName());Student s2 = new Student("张三丰");System.out.println(s2.getName());System.out.println(s2.getSchoolName());}}
上一篇:swagger的使用与步骤