JAVA学习基础篇-4

、多态

       a、定义:同一对象在不同时刻表现出来的不同形态(比如:猫是猫,也可以是动物,也就是  猫继承了动物类)所以可以通过动物类(父类)创建猫类(子类)。Animal t = new Animal();   Animal r = new Cat();

      b、特点: 成员变量:编译看左边,执行看右边。    成员方法:编译看左边,执行看右边。这  是因为成员变量不可以重写,而方法子类可以重写,所以每次创建:Animal t = new Cat();都必须要判断子类中是否有重写的方法。  例如:Animal t = new Cat();  对于成员变量:会 编译并且执行Animal中的成员变量,无论子类是否有同名的成员变量。   对于成员方法: 会 编译Animal中的方法,但会执行Cat()里的方法(属于重写方法)。

     c、多态的转型:1、向上转型:把子类直接赋给父类对象的引用。刚刚说到,多态形成创建的  类:Animal t = new  Cat();只能使用父类中的成员变量。看似创建了一个子类其实是有向上转型了。那怎样才能使用子类中的成员变量呢?    2、向下转型:将父类对象赋给子类。格 式为Cat c = (Cat) t  有点像强制类型转化;  之后 成员变量就是执行子类中的成员变量。

、抽象类:

     a、抽象类不能被实例化,所以不能被创建无论它是父类还是子类,只能被非抽象类的子类所 创建。

     b、抽象类可以没有抽象方法,但有抽象方法的类必须是抽象类。(在类前加abstract) 例如: public static abstract class Animal {};  

    c、继承了抽象类的:1、非抽象类的子类必须写出父类中抽象类方法的方法体  比如:

     2、抽象类的子类可以写出父类的中的抽象的方法方法体,也可以不写。这里有两个抽象方法 但下面的子类并没有全部重写也是可以的因为该子类是抽象类

    d、成员特点: 抽象类父类中可有成员变量、常量(final),构造方法(主要用于初始化变量)、 强制子类完成某些操作。

、接口(属于抽象类)

     a、因为也属于抽象类,接口无法被实例化,具体创建过程如抽象类。

     a、格式:public interface 接口名{};实现:public class 类名 implements 接口{};所以在写非 抽像类实现类中必须重写出接口中的抽象类方法。

     b、成员特点: (接口类)

成员变量都只能是常量,也就是 int age = 0 等价于 public static final int age = 10; 所以在接口类中的成员变量必须初始化;

接口中没有构造方法和非抽象类方法,只能是抽象类方法

、权限修饰符

       a、权限修饰符有:public、private、default(默认的)、protect。

       b、权限

 

在一个包中除了private只能在自己中使用,其他的都能在本包中使用。protect 不能在别的包中使用。

再新建一个包,并且导入之前的包,在新包中创建一个子类,在新包中的有关类(例如:子类继承了之前的包中的父类)可以使用旧包中的public 、default.无关类只能使用public.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值