子类和继承

  • 任何类都是Object类(java.lang包中的类)的子孙类。
  • 子类和父类在同一个包中:不继承private成员变量和private方法。
  • 子类和父类不在同一个包中:不继承private和友好访问权限的成员变量和方法。
  • 其他类对象若访问某个类继承的protected成员变量或protected方法,需追溯到声明该protected成员变量和方法所在的“祖先”类,若在同一个包中可访问,若不在不可访问。
  • boolean:对象+instanceof+类。
  • 子类隐藏继承的成员变量:子类对象及子类自定义方法操作的是子类重新声明的成员变量,子类继承的方法操作的成员变量是子类继承或隐藏的成员变量。
  • 方法重写:方法的名字、参数个数、参数类型完全相同,方法的类型一样或是父类方法类型的子类型(方法的类型是“类”),访问权限不允许降低。

     目的:隐藏继承的方法。

  • 重写方法可操作继承的成员变量和方法,也可操作子类新声明的成员变量和方法,但调用被隐藏的方法或成员变量要使用super。
  • this和super的区别:this指向本类对象,而super指向父类对象。
  • 子类不继承父类的构造方法,super必须是子类构造方法中的头一条语句。(默认有super();)
  • 如果类里定义了一个或多个构造方法,那么Java不提供默认的无参数构造方法。
  • final修饰:①类:不允许成为父类(不允许扩展,如String类)

        ②方法:不允许子类重写(不允许隐藏:重写)

          ③成员变量或局部变量:作为常量,声明时必须赋值

  • 上转型对象:将子类对象的引用放到父类的对象中。
  • 上转型对象不能操作子类新增的成员变量(属性)和新增方法(行为),可访问子类继承或隐藏的成员变量和继承或重写的方法。(可强制转换成子类对象)(如果子类重写的是父类的静态方法,则调用父类的静态方法)
  • 不可将父类对象的引用赋值给子类对象。
  • abstract修饰:①类(抽象类):类中可有abstract方法,非abstract类不可以有abstract方法。

         ②方法(抽象方法):不可用static修饰abstract方法,只允许声明(无方法体)。

  • static方法只能被继承,不能被重写(可以覆盖,但不是多态)。
  • 不可用final和abstract同时修饰一个类或方法。
  • 不可用new创建abstract类对象,但可以声明对象并成为其子类的上转型对象。
  • abstract类的子类:①abstract类:可以重写或继承父类的abstract方法。

           ②非abstract类:必须重写父类的abstract方法,给出方法体。

  • static只能修饰方法、变量和内部类。
  • 面向抽象编程目的是为了应对用户需求的变化。
  • 面向抽象编程的核心是让类中每种可能的变化对应地交给抽象类子类负责。

转载于:https://www.cnblogs.com/rongbin/p/9353623.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值