博主原创 转载请注明地址
1成员变量
声明变量所声明的变量被称为成员变量和域变量,成员变量在类中的书写位置与前后顺序无关,
但是有个特点就是变量的赋值问题:成员变量在定义的时候可以有默认值,而域变量在定义的时候没默认值,所以在定义的时候应该特别注意是否需要赋值的问题
变量名的定义也有规范的要求,如果变量是一个单词组成的,那么最好首字母大写,如果是两个甚至两个以上的单词组成,那么最好从第二个单词开始首字母大写
在类中对变量的操作只能在方法中操作,例如需要计算或赋值的一系列问题,赋值当然也可以在定义的时候赋值,但是记住不要在除了方法中和定义意外赋值,java中不允许这么做
2创建对象用类创建一个对象需要分成两部,
1)先用类定义一个变量
2)使用new方法为对象分配内存
例如:类Lader 定义对象lader
Lader lader;
lader=new Lader();
new运算符再为对象分配变量以后,将返回一个引用给对象变量
分配给对象的变量我们习惯性的称为对象的实体
3垃圾收集
有时候我们在操作的过程中会将一个对象赋给另外一个对象,说白了就是把a对象的引用赋给了b对象,这时就是两个对象公用一段内存,a对象的实体就不属于任何一个变量了,
java有所谓的垃圾收集机制,这种机制可以周期性的检测某个实体是否已经不再属于任何一个对象拥有,如果发现了这样的实体,就释放实体所占有的内存,
如果希望java虚拟机立刻执行垃圾收集操作,可以用System类调用gc()方法
4
在java语言中,类有构造方法,但是没有析构方法
5
如果需要编译某个目录下的所有java文件,可以进入该文件,使用通配符*代表所有源文件名字来执行编译全部文件的功能
例如c:p/目录下的文件
那么只是需要执行 c:p/ >javac *.java
6对象的组合与类之间的关系
如果一个对象组合了另一个对象,那么a对象可以使用b对象的方法
通过组合对象有几个特点
(1)通过组合对象来复用方法也称为黑盒复用,因为当前对象只能使用组合对象的方法,而所组合的对象的方法的细节及其算法的实现时不知道的,所以习惯性称为黑盒复用
(2)当前对像可以随时改变所包含的对象,其实即对象与所包含的的对象属于弱耦合关系
关系在UML中学了大家学了4种主要关系,这里课本只是介绍了两种,那么我就大致概括一下这两种
如果a类中的成员变量是用b类声明的对象,那么a和b的关系式关联关系
依赖关系:如果A类中某个方法的参数是b类声明的对象或某个方法返回的数据类型b类的对象,那么a和b是依赖关系
7实例成员与类成员
定义:在声明成员变量的时候,如果用关键字static给予修饰的称作类变量,否则叫做实例变量,(类变量也叫static变量,静态变量)
两种变量的区别:
类变量:当类有类变量的时候,如果使用类 new创建不同的对象的时候,分配给这些对象的类变量共同占有一块内存,而实例变量是每个对象的实体分别占有一个属自己对象的内存;
不管在类中有没有声明类变量,但是在java程序执行的时候,类的字节码文件被加载到内存的时候,都会自动为类变量生成一段内存,当程序执行结束的时候才开始释放,但是实例成员是只有定义的时候
才会在内存中为它生成一段空间,否则不会生成空间
8