• 深入面向对象


    Java中 的package语句必须作为ava源文件的第一条语句。

     

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

     

    类的访问控制符

      默认:仅可被同包的其他的代码访问。

      public:可以被任何代码访问。

     

    类成员的访问控制符

    public       同一个类   同一个包中  不同包中的子类   不同包中的非子类

    default     同一个类中  同一个包中

    protected 同一个类中  同一个包中  不同包中的子类

    public       同一个类中  同一个包中  不同包中的子类  不同包中的非子类

     

    继承是能自动传播代码和重用代码的有力工具,继承是单方向的。

     

    java 是单继承的,所以在extends后面只能是一个名字。

     

    对于构造方法来说,子类继承不了,只能调用。

     

    通过super关键字可以在子类构造方法中显示调用父类的构造方法,该调用必须位于子类构造方法的第一行。

     

    方法覆盖:两个方法的方法名、参数列表必须完全一致(子类重写父类的方法)。

     

    子类方法的访问级别不能低于父类相应的方法级别。

     

    如果没有无参的父类的构造方法,子类必须使用super显示的调用父类的构造方法。而且必须是在子类构造器的第一句。

     

    this引用对象自身,调用自己的构造方法,而super调用父类定义的成员变量、方法或构造方法,super不能当做引用传递给其他的调用而this可以。

     

    java中多态指不同类的对象对同一消息做出相应。

     

    java中,除了final、static、private、构造方法是静态绑定,其他的方法全部为动态绑定。

     

    运算符instanceof是用来判断是否属于某个类的实力

    对象 instanceof 类

     

    在多态的环境中,父类的引用可以指向子类的对象,子类的引用不能指向父类的对象。

     

    类的成员变量都是静态绑定的,也就是说,类中声明的成员变量不能被子类中的同名属性覆盖,通过该类的引用调用成员,始终调用该类自身声明的属性。

    java的抽象就是知识声明行为接口而不是完成具体的实现

     

    抽象类不能直接实例化,只可以用来继承作为其他类的父类的存在。

     

    构造方法和final、static不可以修饰为abstract。

    抽象方法必须位于抽象类中。

    常量在声明时必须初始化,声明之后不能对其进行二次赋值,其后任何试图对常量进行赋值的语句都将报错。

    final修饰方法,则表示该方法不能被子类覆盖,final和abstract不能同时修饰一个方法。

    static成员存放在方法去中,每个对象相应static共享一段内存。

    静态成员方法没有this引用。

    static方法只能操作方法自身的局部变量或类的static成员。

    public class HumanStatic {
    public static String population="灵长目";
    public static void setPopulation(String newPopulation){
    population=newPopulation;
    }
    public static void main(String[] args) {
    HumanStatic.setPopulation("灵长目,类人猿");
    System.out.println(HumanStatic.population);
    }
    }

    实例方法中可以直接访问static成员变量而static方法中不能直接访问static的成员变量。

    static方法由于不和任何对象绑定,因此不能访问this。

    一个类可以同时继承一个父类并实现若干接口。

    不允许类多继承的主要原因是:如果A同时继承B和C,而B和C同时有一个D方法无法确定该继承那一个。

     

  • 相关阅读:
    Android开发如何定制framework层服务
    Intellij IDEA通过SVN导入基于Springboot的maven项目以及对已有项目做更新
    intelliJ IDEA 怎么添加本地的idea web项目
    Android热修复之AndFix使用教程
    iOS友盟分享的使用总结
    iOS 传感器集锦
    IOS CALayer的属性和使用
    Swift使用Alamofire实现网络请求
    Android踩坑随笔Fragment中onActivityResult方法不被调用
    上周热点回顾(4.30-5.6)团队
  • 原文地址:https://www.cnblogs.com/qhcyp/p/10596173.html
Copyright © 2020-2023  润新知