继承
一:class A extends B,那么A就是B的子类
二:继承的特点
1:可以继承父类的成员
例如:
public class Animal {//父类
String name;
public void eat(){
System.out.println("animal eat");
}
}
public class Dog extends Animal{//子类
@Override
public void eat() {
System.out.println("dog eat");
}
}
public class JichengTest {
public static void main(String[] args) {
Dog aDog = new Dog();
System.out.println(aDog.name);//虽然没有声明这个属性,但是继承了父类的属性,可以直接或者间接调用
aDog.eat();
}
}
2:子类可以扩展属性,并且重写父类方法,重写之后,子类对象调用的便是重写后的方法
1中的Dog重写了eat方法,打印出来的结果就是dog eat,没有重写打印的就是animal eat
3:结合封装来看
父类私有成员不能被子类访问,可以通过继承公开的set和get方法来进行访问和修改
```java
public class Animal {//父类
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void eat(){
System.out.println("animal eat");
}
}
public class Dog extends Animal {//子类
@Override
public void eat() {
//System.out.println(name);//此处访问非法
}
}
public class JichengTest {
public static void main(String[] args) {
Dog aDog = new Dog();
//aDog.name;访问非法
aDog.setName("小花狗");
System.out.println(aDog.getName());
}
}