• Java SE基础巩固


    1.当参数和成员命名相同时用this关键字,this是对他所成方法所属对象的引用;

    2.构造代码块:

      特点:对象一建立就运行,且优先于构造方法的执行

      作用:用于给对象进行初始化

      和构造方法的区别:构造方法是对对应对象进行初始化,构造代码块是定义不同对象共性的初始化内容

    3.构造方法之间的调用:只能通过this语句来完成,且只能写在第一行,一个构造方法只可导入一个构造方法

    4.static修饰符(又称静态变量,静态成员,类变量):用于修饰成员变量和成员方法,位于内存中的data segment(数据区或共享区)。而实例对象为不是static的变量,存放在对象里

      特点:修饰后的成员变量只有一份;

         当成员被static修饰之后,多了一种访问方式,即类名直接调用;

         随着类名的加载而加载,优先于对象,且被所有对象共享

    5.静态方法注意事项:1.静态方法只能访问静态成员;

              2.静态成员可以被非静态方法访问;

              3.局部变量不可被static修饰

              4.静态方法中不可定义this,super关键字,因为静态优先于对象存在

      何时使用静态方法?当功能内部未访问非静态成员时,那么该功能可以定义成静态的

    6.生命周期:类变量生命周期最长,随着类消失而消失

          实例变量生命周期最短,随着对象消失而消失

    7.主函数

        1.public代表该类或该函数访问权限是最大的

        2.static代表主函数随着类的加载就已经存在了

        3.void代表无具体返回值

        4.main不是java的关键字,他是一个特殊单词,变量不可用关键字,能够被JVM所识别

        5.String[] args函数的参数类型是一个字符串类型数组,当数组为空时,没有零下标

    8.静态应用工具类

      每一个应用程序都有共性的功能,可将这些功能进行抽取,进行封装,以备复用

    9.对象的作用:用来封装数据,只要类里有非静态的成员时,那对象就必须存在

    10.classpath:主要是在执行时使用: set classpath=...  

                    set classpath=.  (单个.表示当前目录)

                    set classpath=.;...(表示.和...两个目录都可以)

    11.文档注释相关,文档提取工具javadoc.exe javadoc -d Mydoc(没有Mydoc会自动创建) -author -version ***.java 保证类是public的

    /**

    @param 表示传入

    @return 表示返回

    @author表示作者

    @version表示版本

    */

    12.静态代码块(区别于构造代码块)

      static 静态代码中的执行语句

      特点:随着类的加载而执行,并且只会执行一次,并且还会优先于主函数

      作用:用于给类进行初始化

    13.new一个对象的内存操作步骤

       1.new 。。。会把类从硬盘上加载入内存;

       2.如有static静态代码块,会随着类的加载而加载,同理静态成员和普通方法也是一样

       3.在堆内存中开辟空间,分配内存地址;

       4.在堆中建立特有属性,并同时对特有属性进行默认的初始化

       5.对属性进行显示初始化

       6.执行构造代码块,对所有对象初始化

       7.执行构造函数,对对象进行初始化

       8.将内存地址给栈中的变量

    14.设计模式:针对此类问题最有效的解决方法,java23种设计模式,单例设计模式,只有一个对象

    15.继承:1.提高了代码的复用性,简化了代码

         2.让类与类之间产生了继承关系,才有了后面的多态特性的存在

         3.注意:千万不要为了获取其它类的功能简化代码而建立继承关系,必须类与类之间存在继承关系,

        父类又称为超类,基类 继承关系:is a 子类拥有父类的成员,但不包括被private修饰的

         4.多层继承,最下层子类拥有整个继承体系的成员,最上层父类拥有所有继承描述

         5.java中不存在多继承,因为多继承存在安全隐患,当多个父类定义了相同的成员,子类对象无法确定运行哪一个,接口可以实现

         6.访问当前对象子类成员用this,this.变量时,首先在本类中找需要的变量,如果没有再去父类中找,访问当前对象父类成员用super

         7.函数的重写(覆盖)注意::必须保证子类的权限》=父类才可覆盖,否则编译出错;静态的函数只能覆盖静态的函数;要保证子父类方法完全一样(包括参数)

         8.权限修饰符,public,default(未加修饰符时默认),private,权限依次降低

           9.构造函数在子父类中的特点:构造方法无法被重写,每个子类构造方法会有第一条隐式的super(),调用父类的无参数构造方法,也可给参数调用有参构造方法

    16.对象转型:

      1.对象的向上转型,子类转成父类

      2.对象的向下转型,父类转成子类需要强制进行

      3.关键字:instanceof测试左边的对象是否是右边类的实例,如果是则返回true,不是则返回false(a instanceof b)

    17.多态

      体现:父类引用指向子类对象

      前提:必须得类与类之间存在关系,可以是继承关系或实现关系

         必须有重写

      多态成员变量的特点:编译期间:参阅的是引用型变量所属的类中是否有调用的方法;运行期间,参阅对象所属的类中是否有调用的方法

      好处:大大提高了程序的可扩展性

      弊端:只能用父类的引用访问到父类中的成员

    18.匿名对象:1.当对对象的方法只调用一次时可使用来简化;2.匿名对象可以被当做实参来传递

    19.object类是java中所有对象的直接或间接父类,“==”和object里面的equals都是比较两对象的内存地址是否一致

    20.final可以修饰类函数及变量(成员,局部),被final修饰过的类不可以被其他类继承,被final。。。的函数不可被重写;。。。的变量不允许再次被赋值,所以被final修饰过的变量被称为常量,变量名大写

  • 相关阅读:
    Loading CSS without blocking render
    总结Web应用中基于浏览器的安全漏洞
    React Native通信机制详解
    HTML Imports
    编程语言和它们的创造者
    USB Transfer and Packet Sizes
    灰色心情
    c++ 深入理解虚函数
    在VS2012中采用C++中调用DLL中的函数(4)
    在C++中调用DLL中的函数(3)
  • 原文地址:https://www.cnblogs.com/hank-lkj/p/9235858.html
Copyright © 2020-2023  润新知