zoukankan      html  css  js  c++  java
  • 类,多态,抽象类,接口

    代码块:

      局部代码块:
      构造代码块:和构造方法一起执行,并且先于构造方法执行,每new一次 就执行一次
      静态代码块:和类一起加载, 并且只执行一次

    子类会继承父类中的数据,所有子类初始化之前一定会先初始化父类

    子类中的所有构造方法 默认会继承父类空参构造  super()

    方法重写注意事项
      * a:父类中私有方法不能被重写
        * 因为父类私有方法子类根本就无法继承
      * b:子类重写父类方法时,访问权限不能更低
        * 最好就一致
      * c:父类静态方法,子类也必须通过静态方法进行重写
        * 其实这个算不上方法重写,但是现象确实如此,至于为什么算不上方法重写,多态中我会讲解(静态只能覆盖静态)

    若父类没有无参构造:

      1、super(参数) 访问父类有参
      2、this(参数) 访问本类有参去访问父类有参

    多态:polymorphic
      静态方法
        * 编译看左边(父类),运行看左边(父类)。
      成员方法 编译看左边,运行看右边(子类)

    抽象类  abstract class

      有成员变量   可以是常量 也可以是变量

      有构造方法,用于给子类初始化


      抽象类的方法不一定是抽象的 抽象方法一定在抽象类中或者接口中

       一个抽象类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
        可以,不让其他类创建本类对象,让子类去完成

      abstract 不能和哪些关键字共存
        static :      类名点调用 无意义
        final :        final 不能重写
        private :    不能被继承

      

    接口 interface     implement 

      成员变量只能是常量

      没有构造方法

    竹杖芒鞋轻胜马,一蓑烟雨任平生。 回首向来萧瑟处,也无风雨也无晴。
  • 相关阅读:
    设置tomcat访问根路径
    关于Java抽象类的理解
    JavaIO
    synchronized关键字
    Java线程池
    Codeforces1478F-Nezzar and Nice Beatmap
    Codeforces1477B-Nezzar and Binary String
    Codeforces1476D Journey
    Codeforces1478D Nezzar and Board
    Codeforces Round #697 (Div. 3)G. Strange Beauty
  • 原文地址:https://www.cnblogs.com/yaobiluo/p/11301977.html
Copyright © 2011-2022 走看看