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修饰过的变量被称为常量,变量名大写

posted @ 2018-06-27 20:28  麻爪棒棒鸡  阅读(92)  评论(0编辑  收藏  举报