Java / 第8章 类的基础知识

定场诗一首:

金缕曲
(序)次女绣孙,倚此咏落花,词意凄惋。有云:“叹年华,我亦愁中老”,余谓少年人不宜作此,因广其意,亦成一阕。

花信匆匆度。算春来、瞢腾一醉,绿阴如许!万紫千红飘零尽,凭仗东风送去。更不问、埋香何处?却笑痴儿真痴绝,感年华、写出伤心句:“春去也,那能驻?”浮生大抵无非寓。慢流连、鸣鸠乳燕,落花飞絮。毕竟韶华何尝老,休道春归太遽。看岁岁朱颜犹故。我亦浮生蹉跎甚,坐花阴、未觉斜阳暮。凭彩笔,绾春住

笔者按: 这章大致上也和C++相类;

1.类文件是根据每个类创建的,因此具有两个类的源文件编译之后会创建两个类文件X1.class和X2.class(X1, X2为任意类名);

2.类类型变量并不是类的主体, 而是用来引用类“主体”的;

  类本身的“主体”是使用new运算符,通过下述形式的表达式创建的: new 类名();

3.使用new运算符创建的类类型的“主体”称为实例(instance),创建实例的操作称为实例化;

4.与数组类型一样,类类型也是引用类型的一种;

5.数组中的各个构成元素都会初始化为默认值0,而类中的各个实例变量也会初始化为默认值;

6.类类型的String型也是引用类型的一种,引用类型的默认值是空引用的null;

7.如果将相同名称的类的源文件放到同一个目录中去, 就会出现问题。使用同一个类的两个不同名称的源文件也不可以放到同一个目录中去,因为他们编译之后都会产生同一个类的字节码(.java)文件。

8.将数据对外隐藏起来, 防止非法访问的操作称为数据隐藏(data hiding);

9.原则上,所有的字段都应该设为私有;

10.未指定为private的字段都是默认访问(default access), 默认访问都是公开的;(更严谨一点说,是对包内部“公开”,对包外部“私有”,因此,默认访问也称为包访问(package);

11.字段和方法统称为成员;

12.从语法定义上来说,构造函数并不是成员;

13.所谓“每个实例都有其专门的构造函数”, 只是概念上的, 而不是物理上的;编译时创建的用于构造函数的内部代码实际上只有一个;

14.在未定义构造函数的类中, 会自动创建一个不接收参数, 主体为空的默认构造函数(default consructor)(注:默认构造函数的内部实际上并不为空)

15.所谓在各个实例中分别创建方法只是概念上的,与构造函数相同,编译的类文件中创建的字节码只有一个;

16.实例方法不加static,声明中加上static的方法称为类方法;

17.由于构造函数并不是方法,因此无法对创建的实例使用与方法相同的方式来调用构造函数。即不可以使用"."操作符;

18.在面向对象编程(object oriented programming)的世界中, 实例方法的调用又称作向对象”发送消息”;

19.将字段设为私有,防止来自外部的访问,从而使方法和字段紧密结合在一起的操作称为封装(encapsulation);

20.字段(实例变量)的值表示实例的当前状态, 因此,字段也被称作状态(state);

21.从语法上来说,我们可以定义与类名同名的方法。

22.为了便于创建和使用类,应该将各个类实现为相对独立的源文件;

23.在具有与类的字段 同名的形参或局部变量的构造函数和方法中, 字段的名称会被隐藏;

24.this是引用自身实例的变量,它的类型就是自身的类类型(类Card 的this就是类Card类型)

25.Math.sqrt();

26.标识符的命名规则: a.类, b.接口,c.方法, d.字段,e.常数, f.局部变量和形参,g.包, h.类型变量名;

——————————————————————————————————————————————————————————————————————

笔者按:随着笔者学习的深入,会不断地修正,补充。

“你看那条凄惶的狗,东探探,西望望,冀图讨要,就是不肯锻炼了筋骨去猎食!”
原文地址:https://www.cnblogs.com/sunguanglin/p/9707672.html