继承:
子类继承父类,父类所有属性都将复制一份到子类
关键语句(extends)
子类只能拥有一个父类,父类可以拥有多个子类
子类可以成为另外一个非子类的父类
类似于父亲可以生多个儿子,而儿子也可以生儿子
//父类 鸟类 public abstract class bird{ //性别 char sex='雄'; //姓名 String name="鸟"; //吃 public void chi(){ System.out.println("鸟儿吃虫子 "); } } //小鸟类 class Thebird extends Pet{ }
调用:
public class test { public static void main(String[] args) { //调用小鸟类 Thebird s=new Thebird(); s.chi(); System.out.println(s.sex+""+s.name); } }
输出结果:
鸟儿吃虫子
雄鸟
ps:
但是对于private的属性和方法,子类的确是继承了,但是仍然无法被外界调用
抽象类:
简称遗嘱或者负担,父类未完成的方法交给子类完成,当子类无法完成,则交个下个子类完成
关键单词abstract
父类
//狗类 //添加abstract 表示这是个抽象类 可以在里面写抽象方法 public abstract class Dag { //抽象方法1 上天 public abstract void god(); //抽象方法2 下地 public abstract String Escape(String machine); //实例方法 舔 抽象类并没有禁用 实例方法 和属性 和接口有所不同 public int s; public void lick(){ System.out.println("舔!"); } }
子类实例化:
如果继承的子类未实现或者继续将方法抽象化则会提示报错
如果子类不实现父类的抽象方法,则需要把子类也定义为抽象类
public abstract class puppy extends Dag{ //上天方法 public void god() { System.out.println("狗上天了"); } //遁地方法 不继承 public abstract String Escape(String machine); }