曾梦垚

导航

多态

访问权限修饰符:

四个访问权限修饰符:范围从大到小  Public   protected   default   private

修饰类:  public   default

Public(全局修饰符):所有类都可以访问(不同包下面要导包)

Default(包权限修饰符):同一个包下面可以访问

 

修饰成员:Public   protected   default   private  

 

Public:所有类都可以访问

Protected:(子类权限修饰符):同一个包下面和不同包下的子类

Default:只能在同一个包下面才能访问

Private:只有当前类才可以访问

 

Final修饰符:最终

修饰类:不能被继承   比如Math类,String

修饰成员变量或者局部变量都是不能被修改值

注意:修饰引用的时候,不能重新被new, 地址不能改变

修饰方法:这个方法不能被重写  比如Object类当中的getClass方法

 

 


多态:

1、什么叫多态:一种对象对应多种状态   Animal a = new Cat()   向上转型

2、前提

   1、必须有继承关系,或者实现关系

   2、必须有方法重写

   3、父类引用指向子类对象

 

3、多态的好处:

提高了代码的扩展性:

扩展性:同一个方法可以接收不同类型的数据

 

4、多态成员中运行效果

1、成员方法:Fu f = new ZI();  //因为方法进行重写

           F.eat()   调用子类的方法

           编译看左边,运行看右边

2、成员变量:  Fu f  =new ZI()   syso f.num//父类中num,因为成员变量不存在重写

    编译看左边,运行也看左边

 

5、多态的弊端

  父类引用不能访问子类的特有方法

  怎么解决? 向下转型  Animal a = new Cat()     Cat c = (Cat)a

 

 

1:抽象方法:只有方法声明,没有方法体

2:抽象类:当一个类中有抽象方法的时候,就必须声明为抽象类

3:抽象类的特点:

   1、用abstract修饰

   2、抽象方法的类一定是抽象类,但是抽象类中不一定有抽象方法

   3、抽象类不能被实例化,因为实例化之后访问到的方法没有方法体,没有意义

   4、如果一个类继承一个抽象类,那么这个类要么是抽象类,要么是重写了父类的所有抽象方法

 

抽象类成员特点:

1、成员变量:成员变量,常量

2、有构造器,但是不能创建对象。

3、可以有抽象方法,和非抽象方法

 抽象方法是子类必须要重写,非抽象方法是解决代码复用,被子类继承

 

posted on 2016-11-19 20:51  曾梦垚  阅读(120)  评论(1编辑  收藏  举报