欢迎来到天天文库
浏览记录
ID:11385212
大小:38.00 KB
页数:4页
时间:2018-07-11
《java经典学习笔记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java学习笔记(OO部分)1.类仅仅创建了一种新的数据类型,类就是对象的模板,对象就是类的一个实例,对象和实例可以相互使用。2.在类中,没有用Private标明的变量成为实例变量,每一个对象都具有自己独立的实例变量,即任何一个对象将本身的实例变量值改变之后,并不影响其他对象的实例变量值。3.在声明一个对象时,一般分为两步:首先声明某类类型的变量,改变量仅仅可以用来引用该类的一个实例;接着用new运算符创建一个对象的实际物理拷贝,并且把对于该对象的引用赋给改变量,注意这里赋给改变量的是该对象的内存地址。4.类和对象的区别:类是一种数据类型
2、,用于创建新的对象,是一个逻辑框架,并不占有内存空间;而对象是类的实例,占有物理内存。5.给对象的引用变量赋值:例如,B1为类Box的对象,而B2为类Box的引用变量,如果将B1赋给B2,那么最后的结果是它们共同指向同一个对象实体,这时,对B1或者B2所应用对象的改变都会引起另一方所引用对象的变化。6.类的构造函数的作用是对对象的变量进行初始化,它在对象建立之后,new运算完成之前被调用。另外,构造函数可以重载,当建立一个对象时,可以根据参数的顺序、类型、以及有无参数来调用相应的构造函数。7.关键字this的作用是可以在一个类方法中调用正
3、在使用该方法的对象的引用,最常见的用法是可以使方法的自变量名和类的实例变量名相同,进而解决在方法体内后者被前者覆盖的问题。8.Java里面的垃圾回收机制:当一个对象没有被任何变量引用的时候,该对象所占的内存将会被自动回收。如果在对象被回收之前要进行一些特殊的操作,比如释放该对象占用的特殊资源的时候,就要使用finalize()方法。在该方法中要指定该对象被销毁前要执行的操作。9.方法的重载:这是java实现多态性的一种机制。在类中,若干个方法可以有相同的名字,但是它们的参数有所不同,主要表现在:参数个数、类型上。当要调用某方法时,系统会根
4、据调用时参数的类型、个数等信息调用相应的方法。注意,方法的重载和它们的返回类型无关。在方法的重载中,有时会发生隐含的数据类型转换。例如,当参数类型为int型,而又没有自变量为该类型的方法,却有double类型自变量方法,这时该参数就会自动被转换为double型。10.对象可以作为一个参数在方法中加以传递,这种情况一般应用在构造函数中,可以利用一个已经存在的对象创建一个新的对象。11.java中的参数传递:当传递一个简单类型的参数时,采用的是按值传递方式,即方法体内对自变量的操作并不能改变方法外该参数的值;但是当传递是一个对象的时候,方法的
5、自变量就会接受一个该对象的一个引用,它们共同指向同一个对象,这时,方法体内对自变量的任何操作都会引起该对象的变化。12.类成员的访问控制:public类型的成员在任何地方均可以使用;private类型的成员只能够在类的内部使用;protected类型的成员可以在包内以及该类所有的子类中使用;无修饰符的成员可以在本类所在的包内使用。13.类的静态成员的使用:static关键字可以用来声明类的静态成员,这时这些成员可以为所有的类实例所共享。这些成员的使用可以不依赖于该类的实例。类中一般要有一个static块,可以用来对静态变量进行初始化,而且
6、只有在该类在第一次被加载的时候该块内的初始化代码才会被执行(而且是首先执行)。可以在类的外面直接用类名和点运算符对这些静态成员进行操作。对于静态方法,我们要遵循如下的使用规则:它们仅仅只能调用类中的静态成员,而且不能使用super和this关键字。1.关键字final的作用:当一个变量声明为一个final类型的变量的时候,改变量就不能进行更改。所以在声明一个final型的变量的时候一定要对其进行初始化。如果一个方法被声明为final型,那么该方法就不能被其所属类的子类覆盖掉。一个类被final修饰的时候,该类就不能被继承。2.注意,数组均
7、是被作为一个对象来使用的,它们都有一个共同的变量:length,即数祖长度。3.内部类的使用:在一个类的内部可以声明一个内部类;内部类在外部类的外面是不可见的,而且内部类的成员变量只能在内部类内部使用,外部类的成员不能对它们进行任何操作;但是内部类可以使用外部类的所有成员。另外,还可以在方法体内,甚至循环体内使用内部类。4.在一个超类中声明为private的成员只能被其本身引用,其子类虽然可以继承该成员,却没有权利访问它(除非使用关键字super)。5.一个超类的引用变量可以被赋予一个其子类对象的引用,此时,超类的引用变量只能访问超类中已
8、经定义的成员。此时,超类的引用所访问的成员均为其子类的对应成员(因为子类已经将超类实现了进一步的扩充,java可以利用此机制实现运行时的多态性,参考21)。6.super有两种使用方式:第一种
此文档下载收益归作者所有