java核心技术基础知识个人总结之——对象与类

一、类:对象状态的改变必须通过调用方法实现,如果不是,那么封装性遭到了破坏,尽量避免这种情况。
类之间的三种关系:1、依赖:一个类里的方法操纵了另一个类的对象,那么说一个类依赖另一个类。这样意味着一个类对象的改变会导致另一个类产生BUG,所以我们应该让类之间的耦合度最小。2.聚合:一个类的对象包含一些其它类的对象,他们就是聚合的。3.继承:一个类用特殊的语法包含了另一个类的方法,并有自己额外的方法,叫做继承。




二、时间日历对象:以后程序中尽量使用GregorianCalendar类,这个类提供了丰富的日历的操作,并可以用setTime(Date time)和getTime()2个方法同Date对象转换,这个类主要有get和set以及add这3个方法去操作日历的,要操作的内容由Calendar类里的常量指定。
java.text.DateFormatSymbols这个对象主要用来获得当地地区的星期几或月份的名称,其中的方法都是返回名称串的数组。

三、定义类:类里的一个方法可以访问所有属于该类的对象的私有数据(个人感觉破坏了私有数据的封装)。实例代码如下:
class Employee{
private String name;
public Employee(String n){
name=n;
}
boolean equals(Employee other){
return name.equals(other.name);
}

}
这个类可以通过编译,就算有个方法访问了一个对象的私有属性。

最好不要编写返回引用可变对象的访问器方法,这样可以用另一个变量去引用同一个对象,那么可以改变这个对象的状态,从而破坏了封装。如果需要返回一个可变对象的引用,应该首先对它进行克隆,并且返回这个克隆对象的引用。

final:这个修饰符应该用于基本数据类型和不可变的类(类中的每个方法都不会改变类就是不可变的类)的对象,其实表示的就是它是个常量。对于可变的类,使用final修饰符会有混乱,仅仅意味着那个引用是不可变是final的,但是那个对象里的东西是可以更改的。

static: 声明为static的域在类的对象里面只有一份拷贝,所有对象共享它,因为它只属于类,所以就算没有类的任何一个对象,它也存在。静态方法是没有this参数的方法(在一个非静态的方法中,this参数表示这个方法的隐式参数),没有this就不能操作对象,所以不能在静态方法中访问实例域。对象可以调用静态方法,但是静态方法里没有任何对象的信息,不能访问非静态的域,所以结果与对象无关,所以尽量不要用对象调用静态方法。
main:所有的类都可以有一个main方法,常用于对类进行单元的测试。


四、方法参数:java中所有的参数都是拷贝,基本类型就是基本类型值的拷贝,对象引用也不是直接把对象的引用传进去的,而也是对对象的引用进行了拷贝传进去的,一定要注意。


五、对象的构造:重载:类里面有多个方法的方法名相同,但是参数不同便产生了重载,但是返回值不同并能作为方法重载的条件。
默认域初始化构造:如果构造器没有显示地给域赋值,那么就会自动的赋值:数值为0,布尔为flase,对象的引用为null。
由于构造器可以重载,所以在一个构造器里可以用this(参数)调用另外一个构造器,比较有用,可以把公用的都需要初始的东西放在一个构造器里供其他的使用。构造器没有返回值,也不用加上void。
经常要记着调用构造器时,各个部分的顺序,和类加载时静态域的顺序。

java.util.Random:int nextInt(int n)返回一个0到n-1之间的随即整数

finalize:可以为任何一个类添加这个方法,那么在对象在被引用垃圾回收清除对象前会调用这个方法,完成一些其他资源的释放,但是很难知道什么时候会垃圾回收,所以可以调用:System.runFinalizersOnExit(true)能确保JAVA关闭前调用finalize,不过这个方法不安全。


六、包:一个类可以使用所属包中的所有类,以及其他包中的公有类。import语句用来导入包,package语句用来把类放入包,如果没有使用该语句,那么类被放置在一个默认包
静态导入:import static 可以使用导入类里的静态方法和静态域,使用这些方法和域的时候必加类名前缀。注意编译器在编译源文件的时候不检查目录结构,但是如果没有声明的包结构,程序无法运行,因为虚拟机找不到类文件。java1.2版本以后明确地禁止加载用户自定义的包名以java.开始的类。

七、类路径:类存储在文件系统的子目录中,类的路径必须与包名匹配。(重要的东西,需要抽空好好研究)


八、文档的注释:javadoc可以由源文件生成一个HTML的文档。所以写好文档的注释可以得到一个很好的HTML文档。
类注释必须放在import语句之后,类定义之前。方法的注释放在方法之前。@用于注释语法的标记,类的标记主要有:author,version,see(类与方法之间的分隔符是#),since,deprecated;方法的标记主要有:param,return,throws。


九、类设计技巧:1、一定将数据设计为私有的,并且不要破坏封装性。2、一定要对数据初始化。3、不要在类中使用过多的基本数据类型,多的话可以放在新类里。4、将职责过多的类进行分解。5、类名和方法名要能够体现他们的职责。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值