一:继承(extends):让类与类之间产生关系,子父类关系
作用:简化代码
关键字:extends
class Animal{
String color;
int legs;
public void eat(){
System.out.println("吃饭");
}
public void sleep(){
System.out.println("睡觉");
}
}
class Cat extends Animal{}
特点:
- Java只支持单继承,不支持多继承
- 但是可以B继承A,C继承B……
- 如果想用这个体系的所有功能用最底层的类创建对象
如果想看这个体系的共性功能,看最顶层的类
注意事项:
- 父类的私有成员子类不可以继承
- 子类可以通过super去访问父类的构造方法,也可以调用父类的成员属性和成员方法
Cat cat2 = new Cat("小黑",3);
cat2.say();
}
class Animal{
String name;
int legs;
public Animal(){}
public Animal(String name,int legs){
this.name = name;
this.legs = legs;
}
public void say(){
System.out.println("我是" + name + ",我有" + legs + "条腿");
}
}
class Cat extends Animal{//一旦在父类里添加构造方法,子类就报错,必须在父类里构造一个无参的构造函数
public Cat(){}
public Cat(String name,int legs){
/* this.name = name;//this也可以调用父类的属性和方法,前提是本类中没有。
this.legs = legs;//这里的this指向的是Cat
*/
super(name, legs);//调用有参的构造方法
//super();调用用无参的构造方法
}
}
输出结果:
我是小黑,我有3条腿