一.继承:
class Person{
private String name;
private String gender;
public Person(){
System.out.println("父类的构造方法");
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setGender(String gender){
this.gender =gender;
}
public String getGender(){
return gender;
}
public void eat(){
System.out.println("食物");
}
}
class Student extends Person{
//创建了一个Person的的子类
}
public class Test{
public static void main(String[] args){
Student s = new Student(); //创建一个学生类
//System.out.println(s.name); 输出错误,因为父类的name是私有属性
}
}
1.注意事项:
- 继承不能继承父类的私有属性
- 子类在实例化的过程中会自动调用父类的无参构造方法
- JAVA中不存在多继承(即一个子类只有一个父类),但可以多层次继承
- 如果重写了父类的方法,在子类里调用父类中被重新的方法需要加super.methodName()
- 子类重写方法后,调用重写方法加this.methodName()
- 子类的权限不能小于父类的权限
- 静态只能覆盖静态(因为类方法、类属性在重写后如果变成了动态的,违背父类)
- 所有的类的间接或直接根类是Object类
- 输出实例将会输出该实例的toString()的返回值