继承(Inherit)
1. 本质:是对某一批类的抽象,从而实现对现实世界更好的建模
2. 继承需要extends(扩展)关键字,子类(派生类)是父类(基类)的扩展
3. Java中类只有单继承,没有多继承!(父类可以有很多子类但是子类只能继承一个父类)
4. 注意:在Java中,所有类都默认直接或间接继承Object(简单来说就是老祖宗类) 记住子承父业就行了
5.public class Parentclass {
private String name;
private int age;
private String say;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setSay(String say) {
this.say = say;
}
public void abb(){
System.out.println("这个动物是"+name+",今年"+age+"岁,它的叫声是:"+say);
}
}
6.
public class Subclass extends Parentclass {}
7.
public class Subclass_Test {
public static void main(String[] args) {
Subclass subclass = new Subclass();
subclass.setName("老虎");
subclass.setAge(4);
subclass.setSay("嗷呜嗷呜嗷呜");
subclass.abb();
}
}
8.super关键字:
1.调用父类的构造方法,必须在构造方法的第一个
2.必须只出现在子类的方法或者构造方法中
3.super和this不能同时调用构造方法
Super和this的不同:
代表对象不同:
This:本类调用对象
Super:父类对象的引用
前提:
This:没有继承也可以使用
Super:只有继承了才能用
构造方法:
This();本类的构造
Super();父类的构造
public class Parentclass {
private String name;
private int age;
private String say;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setSay(String say) {
this.say = say;
}
public void abb(){
System.out.println("这个动物是"+name+",今年"+age+"岁,它的叫声是:"+say);
}
}
public class Subclass extends Parentclass {
public void ask(){
super.setName("猫");
super.setAge(2);
super.setSay("喵喵喵");
super.abb();
}
} public class Subclass_Test2 {
public static void main(String[] args) {
Subclass subclass = new Subclass();
subclass.ask();
}
}
谢谢大家阅读,写的不好的多多包涵,十分感谢!如有侵权,无意之举,告知删除!
|