码迷,mamicode.com
首页 > 编程语言 > 详细

【学习笔记】java核心技术学习笔记整理

时间:2015-10-21 15:55:59      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

《java核心技术》

 花了半天到一天又认真读了一下java核心技术中的类部分,感觉最近编程时候好多迷迷糊糊,“这样对不对呢,试一试。怎么不对呢”这类的迷糊问题原来都早有定义。

  •  main函数必须在主类中
  •  一个class就是一个机器,要使用其中的方法,需要构建这个类的实例。 一个class中如果定义构造器,构造器的类型是public 类名,类名就是原类名
  •   一个类可以有多个构造器,构造器没有返回值。
  •  变量标记为private,代表只有该类的方法才能使用这些变量,别的类的不可以  方法标记为public,则别的类的方法都可以调用这个方法 
  •  访问器方法:getname  更改器方法:setname  一般是:私有的数据域,共有的访问器方法和更改器方法   、
  • 静态方法:private static的方法,不需要构建实例就可以直接饮用  
        a,如果该方法不需要用对象的变量,只需要使用显式参数就可以 

                b,如果这个方法只需要访问类的静态域。

  • 静态域:属于类的一个变量,private static int nextId,当将类做实例化后,会有多个对象,但是只有一个静态域。
  • 一个类中只能含有一个公有类,且名字和文件名一致。EmployTest.java中含有main方法,Employ.java中定义了Employ 的class,则编译时候javac Employ*.java ,在java EmployTest,它会自动将Employ.java也生成class,再串联执
  • .每个类都可以有个main,用来测试这个类,做单元测试
  • this可以调用隐式参数。如果没有写构造器,会有个默认构造器,将数值设置为0,将对象设置为null(注意:String类的name也会成为null,因为String是个类)

对象与类基础

对象变量:Java的对象变量相当于C++的对象指针

构造体:1. 必须与类同名

                   2.每个类至少有一个构造体,默认为无参构造体

                   3.可以有0个或多个参数

                   4.没有返回值

                   5.可以是private,protected或public,默认为public

                   6.总是伴随new关键字一同被使用

显式参数:类方法括号中的参数

隐式参数:调用时出现在方法名前的类对象;方法定义中使用this关键字代表该隐式参数

基于类的访问权限:某个类的方法可以访问该类的任何一个实例的私有域

final实例域:将实例域定义为final,则在创建实例时必须初始化这样的域;对于可变对象的变量,定义为final只表示该变量不能再引用别的对象,但当前对象的内部数据域仍可以修改。

静态域:将域用static关键字修饰,表示该类的每一个实例中都有这个域的一份拷贝;静态域属于类,而不属于任何独立的实例,每次对其进行修改,则每个实例中的该域都会变成最新的值

常量:static + final

静态方法:将类方法用static修饰,表示该方法不能向该类的实例实施操作;静态方法没有隐式参数(this);静态方法只能访问该类中的静态域,不能访问实例域;静态方法通过类名直接调用,如Math.random();

 

方法参数

Java使用值调用

方法参数有两个类型:

1.        基本数据类型

2.        对象引用

对于基本数据类型参数,方法并不能修改实参(因为值调用)

对于对象引用的参数,形参与实参指向的是同一个对象位置,所以方法能改变该对象内部的值,但不能使实参指向一个新的对象

 

对象构造

重载:一个方法的签名包括方法名及其参数列表,不包括返回值和访问权限;重载就是具有相同方法名、不同参数列表的一组方法,由编译器根据参数列表挑选匹配的方法进行调用

默认域初始化:如果没有在构造体中对域进行显式赋值,那么默认地,数值域赋为0,布尔域赋为false,对象变量赋为null

默认构造体:如果在类定义中没有显式定义构造体,那么默认地,运行时系统会提供一个无参的空构造体

显式域初始化:类定义中,在域定义时直接将初始值赋给该域

调用另一个构造体:在一个构造体中第一句使用this(…);可以调用另一个重载的构造体

初始化块:类定义中直接包含代码块,用于给域赋上初始值

对象构造执行顺序:包含静态块、域初始化语句、初始化块、多个构造体

1.      所有数据域都被初始化为0、false或null

2.      按照类声明中出现的次序依次执行所有静态块

3.      按照类声明中出现的次序依次执行所有域初始化语句和初始化块

4.      如果构造体第一行调用了第二个构造体,先执行第二个构造体的主体

5.      执行本构造体的主体

对象析构:Java不支持对象析构,由垃圾回收器统一回收不再被需要的资源

 

【学习笔记】java核心技术学习笔记整理

标签:

原文地址:http://www.cnblogs.com/lijieqiong/p/4897838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!