Java高级类特性

        面向对象的三大特征:封装、继承、多态

1、封装

        属性封装数据,方法封装代码。使代码简单易于维护。

2、继承

        继承是面向对象最显著的一个特征。继承是派生从已有的类中出新的类,新的类吸收已有的方法和属性,并拓展新的能力。

        用extends来表示继承。

        例如: class A extends B{}    就说明A是B的子类,A继承了B所有的属性和方法。

        单继承性:一个类只能有一个父类。

3、方法的覆盖跟重载

        3.1、方法的覆盖

        子类可以修改从父类继承的方法。也就是说子类可以创建一个与父类中有相同名称、相同返回值类型和相同的参数列表。(参数列表的变量名可以变

        例如:class A{  public void method(int a,int b){ 方法体} }

                   class B extends A{ public void method (int a,int b){  不同的方法体 } }

        B中的method方法覆盖(重写)了A中的method方法。

        注:访问权限不允许缩小。抛出异常的范围不能多于父类。        

        3.2、方法的重载

        在同一个类中如果出现了名称相同,但参数列表(个数,类型,顺序)不同的情况叫重载。

        例如:class A{

                        public void method(int a,int b){ 。。。}

                        public void method(double a,double b){ 。。。}

        }

        规则:方法名称必须相同,参数列表必须不同;(不包含变量名不同)

                  方法的返回值类型可以相同也可以不同。只有返回类型不同不构成重载。

4、super关键字

        关键字super可被用来引用该类的父类的成员变量和方法。

        功能:点取父类中被子类隐藏了的数据成员。

                  点取已经覆盖了的方法。

                  作为方法名,表示父类的构造方法

5、多态性

        什么是多态:多态是同一个行为具有多个不同表现形式或形态的能力。比如键盘的w键,在不同的游戏中,对应的效果也不同。可能是前进,可能是释放技能。

        多态存在的必要条件:继承,重写,父类引用指向子类对象。Person p=new Child();

        当使用多态调用方法时,首先检查父类是否存在方法,如果不存在则报错,如果存在再去调用子类重写方法。使程序具有良好的拓展,可以对所有类的对象进行通用处理。(简单地说就是父接子类,调用的是重写子类方法。new谁调用谁的方法。)

        instanceof运算符:用来判断对象所引用的类型是否为指定类型。

        通过判断对象的引用类型,将对象进行强制转换。使对象能够调用子方法中父类没有的方法。体现同一个行为的不同形态。比如狗子有个看门的方法,但是并不是所有动物都有。将动物的类型转换为狗子就可以调用看门的方法。

6、static静态

        static修饰符能够和属性、方法、内部类一起使用,表示静态。

        同一个类中,静态只能访问静态。

        静态变量:

        存放在静态区中。一个类中的的一个static变量只有一个内存空间,这个变量时共享的。可以有多个实例,但内存空间只有一个。可以通过实例和类名直接调用。局部变量不能用static修饰。

        当类被装载的时候无论是否调用static变量,static变量都会被初始化。

        静态方法:

        静态方法不能调用类中的非静态变量,只能访问静态方法,静态变量。静态方法中不存在this、super。

        构造方法不能被静态修饰。

7、final常量

        在Java中声明类、方法、属性、局部变量时,可使用关键字final来修饰。

        final标记的类不能被继承

        final标记的方法不能被重写(覆盖)

        final标记的类不能被修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值