zoukankan      html  css  js  c++  java
  • JAVA 编程思想一

    1: 动态绑定和静态绑定

           使用private或static或final修饰的变量或者方法,使用静态绑定。而虚方法(可以被子类重写的方法)则会根据运行时的对象进行动态绑定;

           静态绑定使用类信息来完成,而动态绑定则需要使用对象信息来完成

      重载(Overload)的方法使用静态绑定完成,而重写(Override)的方法则使用动态绑定完成;

    2:访问修饰符public,private,protected, default

           类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。总结如下表:

    3: final 的意义:

                final可以修饰类,方法,变量:

                final修饰的类不能被继承;

                final修饰的方法不能重写;(注意:如果父类是private final, 子类是可以定义同名函数,相当于定义新方法,不是重写;否则有编译错误)

                final修饰的变量是不可以更改的(注意:如果是基本类型,基本类型值不能变;如果是指向对象,对象的内容可以更改)

    4: abstract class(抽象类)  VS   interface(接口)

            abstract class: 不能创建对象(JVM可以?)但可以创建引用;

       抽象方法(abstract修饰函数名): 有方法名的定义,无实现;

             含有抽象方法的类是抽象类,但抽象类不一定含抽象方法。

        一个类继承抽象类,必须实现抽象类的抽象方法,否则,此类也是抽象类。

              abstract不能和final,private,static连用;

              接口是一个特殊的抽象类,里面的常量都是public,static,final的;里面的方法都是public的abstract的。既然都是这样,那么在定义接口时就可以直接省略这些修饰符。(怪不得接口里面一般不定义属性呢);

              接口的方法都是抽象方法;

              接口不能创建对象,但可以声明一个接口类型的引用;

              implements( VS extends

              如果不想让子类抽象,就要实现接口里面所有的抽象方法。实现方法时的public不可以少

             接口支持多继承 ; 但是抽象类不行;

       abstract  class  VS    interface;

             类可以同时继承一个父类,实现多个接口;

             二者各自的好处:  接口可以多继承;           抽象类可以有默认的实现方法,接口不能。

    5:     instanceof  :  判断是否是某个类型的实例; 在向下转型的时候用这个很重要;

    6:   toString() 什么时候会自动调用? 

                  "对象 + 字符串"的时候会自动调用对象的toString()函数;

    7: 构造器如何调用?

              咱们写的代码只能在构造函数中的最前面调用构造函数。

    8: 是否可以通过返回值区分是否重载?   不能

    9: 默认构造函数:   如果没写构造器,就会创建个默认构造器; 如果写了,就无默认构造器。

    10: JAVA为什么没有sizeof ?   因为不需要,不存在跨平台的问题,各种类型的大小是固定的;

    11:   ==  VS  equals  :        == :  比较引用是否是一个;              equals : 比较内容

    12: 基本成员的默认值:    boolean false; char null; byte: 0; int 0; long 0L; float 0.0f;  double 0.0d

     

  • 相关阅读:
    node.js基础回顾
    PHP基础回顾之表单(二)
    PHP基础回顾(一)
    知识图谱Knowledge Graph
    Qt addStretch()详解
    Qt实现 QQ好友列表QToolBox
    Qt5
    用户级线程和内核级线程
    TCP状态转换图、滑动窗口、半连接状态、2MSL
    理解tcp顺序释放操作和tcp的半关闭
  • 原文地址:https://www.cnblogs.com/liufei1983/p/7613096.html
Copyright © 2011-2022 走看看