继承主要作用是:实现代码的复用
继承而得到的类成为子类,被继承而得到的类称为父类(基类或超类)
继承的格式:子类extends父类
继承的特点:子类得到父类的属性和行为
继承设计规范:子类相同的特征放在父类中,子类独有的属性和行为应该定义在父类中
继承的应用:
public class day07 {
public static void main(String[] args) {
student s =new student();
s.setName("张三");//继承父类
s.setAge(21);//继承子类
System.out.println(s.getName());
System.out.println(s.getAge());
s.queryCourse();//继承父类
s.writeInfo();//本类
}
}
//父类
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;
}
}
//子类
public class student extends people{
public void writeInfo(){
System.out.println(getName()+"写下来");
}
}
继承注意几点:子类不可以继承父类构造器(用于初始化父类对象)
子类可以继承父类成员但不可直接访问
java不支持多继承,但支持多层继承
java中所有的类都是object的子类
子类访问成员满足就近原则
public class day08 {
public static void main(String[] args) {
Dog d=new Dog();
d.main();
d.look();
d.main();
d.showName();
}
}
class Animal{
String name="狗霸天";
public void main(){
System.out.println("我好笨呀!");
}
}
class Dog extends Animal{
String name="狗";
public void look() {
System.out.println("狗很可爱!");
}
public void main(){
System.out.println("狗太胖了");
}
public void showName(){
String name="局部门";
System.out.println(name);
System.out.println(this.name);//输出当前成员变量
System.out.println(super.name);//调用此方法时,输出父类成员变量
}
}
狗太胖了
狗很可爱!
狗太胖了
局部门
狗
狗霸天
super.父类成员变量,直接访问父类
方法重写: