java 继承

一.继承

  1.通过关键字extends来实现,等同有C#中的“   :”Subclass称为子类,而super称为父类,也称为基类,或超类如果使用了public,则只能在当前项目中可见,若无public修饰,则只能在当前包中可见,不可以使用private和protected修饰类。

  2.子类重写父类的方法:

    (1)父类(普通类)

      方法(普通方法)

    (2)子类  extends  父类

      方法(普通方法——>和父类某个方法同名)

  结论:

    父类  父类对象=new  子类对象();

    父类对象。方法名()(父子都有)  一定打印出子类方法体内容

2.1自己修改模板   template

2.2 super

  super()父类的构造

  super.父类的属性  或者方法。

3.抽象类和抽象方法的注意事项
案例:实现不同宠物 吃东西方法

public abstract class Pet{

public abstract void eat();
}


public class Cat extends Pet{
@Override
public void eat(){
syso("dog Eat");
}
}

public class Penguin extends Pet{
@Override
public void eat(){
syso("Penguin Eat fish");
}
}

Pet[] pets=new Pet[2];

Cat cat=new Cat();

Penguin penguin=new Penguin();

pets[0]=cat;
pets[1]=penguin;

注意:抽象方法和抽象类的注意事项

  1.抽象类中也可以有抽象方法,也可以有非抽象方法

  2.抽象方法中没有方法体,可以直接以分号结束

  3.抽象方法必须在子类中重写,除非子类本身也是一个抽象类

  4.如果用abstract修饰,那么该类是抽象类

  5.抽象类不能被实例化

  6.抽象类可以有构造

  7.抽象类不能是静态的

  8.抽象方法只能出现在抽象类中

  9.抽象方法只是用来约束子类方法行为的

4.final修饰属性,方法,类

  final修饰属性:不能再次赋值
  final修饰方法: 方法不能被重写
  final修饰类,类不能被继承

5.继承关系下子类构造的执行过程解析:
  1.从Main---->子类构造不进入方法体

  2.从子类构造------>父类构造

  3.执行父类构造 ,创建了父类对象

  4.回到子类构造,执行构造体

  5.再回到Main。创建出对象

 

posted @ 2018-03-01 16:08  舞凍  Views(77)  Comments(0Edit  收藏  举报