A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

方法重写:
    在继承关系中,子类可以重新定义父类继承过来的方法,可以将没有方法体的方法加上方法体,完成具体事项,也可以将有方法体的方法重写,
    让该功能更为强大。
   
    当创建对象时,调用的为子类重写后的方法。
   
    注意事项:
        权限修饰符,子父类相同或者子类大
        方法名、参数,返回值类型子父类必须相同
   
抽象类/抽象方法:
    抽象类概述:当使用面向对象的方式描述现实生活中的事物时,有些概念比较泛泛抽象的,不需要创建实例对象。
    而又需要定义这样一个类,规定其子类所应该具备的成员变量和成员方法时,可以将一个事物定义为
    抽象类,该类的方法一般为抽象方法,没有实现。具体的实现由子类自己完成。
    抽象方法:只有方法声明,没有方法体的方法,叫做抽象方法
    抽象类:包含抽象方法的类,就是抽象类
   
    抽象类/抽象方法 注意事项:
        抽象类不能创建对象,只能被子类继承,出现的意义就是为了让子类继承,重写方法,规定了其子类的通用功能和属性
        如果一个类继承了抽象类,则需要重写其所有抽象方法,才能创建对象,否则仍为抽象类
        
        抽象类不一定包含抽象方法。
        抽象类可以有非抽象方法。
instanceof 关键字:

用于引用数据类型判断
        格式: 对象名 instanceof 类名
        返回值: true, false
        作用: 判断某个对象是否属于某种数据类型

接口
    (1)当抽象类中的方法都是抽象的时候,java就提供了一种新的表现形式:接口。接口是功能的集合 接口不能创建对象
    (2)格式:
        接口:
            public interface Inter
            {
            
            }
        实现类:
            public class InterImpl implements Inter
            {
            
            }
    (3)接口的特点:
        A:不需要被abstract修饰。
        B:类实现接口,可以单实现,还可以多实现。
        C:接口可以继承接口,可以单继承,也可以多继承。
        D:接口与父类的功能可以重复,均代表要具备某种功能。
    (4)抽象类和接口的区别:
        A:成员的区别
            抽象类:
                成员变量:可以是变量,也可以是常量。
                //构造方法:有构造方法,用于子类实例化使用。
                成员方法:可以是抽象的,也可以是非抽象的。
            接口:
                成员变量:只能是常量。
                      默认修饰符:public static final
                成员方法:只能是抽象的。
                      默认修饰符:public abstract
                推荐:默认修饰符请自己永远手动给出。
        B:类和接口的关系区别
            类与类:
                继承关系,只能单继承。可以多层继承。
            类与接口:
                实现关系,可以单实现,也可以多实现。
                类还可以在继承一个类的同时实现多个接口。
            接口与接口:
                继承关系,可以单继承,也可以多继承。
        C:体现的理念不同
            抽象类里面定义的都是一个继承体系中的共性内容。
               
            接口是功能的集合,是一个体系额外的功能,是暴露出来的规则。
this:本类对象的空间
super:本类对象中的父类对象空间

this:
    访问本类对象成员变量                this.变量名
    调用本类普通方法                this.方法名(参数)
    本类构造方法调用本类其他构造            本类构造方法第一行this(参数)
   
super:
    访问本类对象当中的父类对象成员变量        super.变量名
    调用本类对象当中的父类普通方法            super.方法名()
    本类构造方法调用父类构造            本类构造方法第一行super(参数)
    this与super在调用构造方法时,均必须在第一行,只能调用其中的一个。
    父类多个构造,子类调用父类某个参数的构造时,必须保证父类有这个构造,否则报错
final:
    final是最终修饰符,可以修饰类、成员方法、变量。
    final修饰的类:最终的类,不能被继承
    final修饰的变量: 相当于是一个常量,  一次赋值,终身不变
    final修饰的方法: 最终的方法,子类不能重写,可以继承过来使用
    final修饰的引用数据类型变量,可以修改对象里面的属性内容,不可改变地址值
    final修饰的成员变量,不能使用默认值,必须在创建对象之前完成赋值。
static:
    静态修饰符,被static修饰的内容属于类不专属于某个对象,多个对象共享使用这一个成员
    使用static修饰的成员可以用类名直接访问,建议这样使用:
        类名.静态方法名(参数);
        类名.静态常量名;
    静态修饰的成员只能直接访问静态修饰的成员,不能出现this、super,因为类是优于对象产生

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马