day10 继承 抽象类

1.继承

  • extends 继承关键字
public class man extends jiCheng {
}
  • 继承拥有父类(基类,超类)的除private的成员变量和方法,复用性强
  • java可以单继承,多层继承(b继承于a,c继承于b)但不能多继承(c继承于extends b,a)
  • 方法重写,覆写,同名,并且子类权限>=父类权限
public>protected>default(不写权限就是默认)>private
同名时候会就近,子类有同名方法就不会调用父类方法
扩写父类方法
void action
{
super action();
syso(“子类方法”);
}
这样父类方法会执行,子类扩充方法也会执行
  • 同理,父类有成员变量a,子类有成员变量a不同值,子类方法中还有局部变量a
father{
int a;
}
son extends father{
int a=3;
public void text()
{
int a=4;
syso(super.a+"  "+this.a+"   "+a)
}
在这样就分别是父类a=0,子类成员变量a=3,
子类方法中局部变量a=4
  • 重写是子类重写父类方法,两个类方法,参数均相同;重载是一个类,方法名相同,参数不相同

2.抽象类

  • 抽象类是抽取实例对象相同功能
  • 抽象类不能直接new,需要子类重写抽象方法后子类来new,子类没有重写父类所有方法时子类也是抽象类不能实例化
public abstract class jiCheng {

public  abstract void name();
public  abstract void name1();
}
public class man extends jiCheng {
    public void name() {
        System.out.println("name");
    }

    public void name1() {

        System.out.println("name1");

    }
  • 抽象类强制子类重重写方法是完整性思想
  • 若抽象类中有成员变量可以super调用
  • 右键source中有set,get生成
  • 右键refactor中有rename

你可能感兴趣的:(day10 继承 抽象类)