2015年10月30日18:19:54
JAVA面向对象编程上重点总结
作者:数据分析玩家
1.简述面向对象中封装的定义
在面向对象中,所有的类通常情况下很少让外部类直接访问类内部的属性和方法,而是向外部类提供一些按钮,对其内部的成员进行访问,以保证程序的安全性
在java中,通过访问控制符,修饰符static,this指针等的约束,以此提高程序的安全性.
2.简述对java中启动类的认识
启动类具有类的一切性质,具有相应的属性与方法,启动类之所以强大,在于它拥有main()函数,既是程序的入口,也是程序的出口,只要是启动类,在启动类的前面一般都要加public,并保证启动类的名字和类的文件的名字相同.
3.简述访问控制符的分类,作用域以及相应的作用
1>访问控制符包括public,protected,private
2>访问控制符是针对外部类进行使用的,对类内部的成员是透明的,失效的
3>通过使用访问控制符,可以达到对类内部数据的保护作用
4.简述外部类访问类内部成员的具体方法
1>通过类名的方式进行访问
2>通过类对象名的方式进行访问
5.简述访问控制符的具体用法
访问控制符的用法包括两种:在类的内部与在类的外部
1>在一个类的内部,所有的成员之间彼此之间都可以进行相互访问,访问控制符是透明的,失效的,共有的可以调用私有的,私有的可以调用共有的
2>在一个类的外部,只有其私有成员不可以通过类对象的方式进行访问,共有成员和保护型的成员都可以通过这种方式进行访问,换言之,在一个类的外部,通过类对象名.私有成员的方式是无法访问该对象中的私有成员的
综上:内部之间可以相互访问,外部私有成员不能进行访问
6.简述操作系统分配动态内存空间的处理方式
所有动态分配的内存,都是没有名字的,而是将其地址赋给一个指针变量,用指针变量去代表这个事物
7.简述构造函数的概念以及相应的作用
所谓构造函数就是在构造对象的同时被对象自动调用,完成对事物的初始化,一个类只要生成一个类对象,它一定会调用构造函数,并且它永远只会调用一个
8.简述构造函数的4个特点以及4个注意事项
特点:
1>构造函数的名字和类的名字相同
2>构造函数没有返回值
3>构造函数可以有形式参数,也可以没有形式参数
4>一个类中可以有多个构造函数
注意事项:
1>只有在生成类对象的同时,构造函数才会被自动调用,如果没有生成类对象,构造函数将不会被调用
2>创建完类对象之后,系统首先为这个对象分配好内存空间,然后由类自动调用相应的构造函数
3>无论一个类中有多少个构造函数,生成一个类对象的同时一定只会调用其中的某一个构造函数
4>若程序员提供了构造函数,系统将不再提供默认的构造函数,否则系统将会提供无参,无执行体的构造函数
9.简述java中赋值和内存分配的两个知识
赋值:
1>在java中,如果是个局部变量,必须进行初始化,否则会出错
2>类中的属性,如果没有进行初始化,将会被自动赋值为0,这是一种待遇
内存分配:
1>new()出来的东西是在堆中进行分配的
2>局部变量(数据类型+变量名)是在栈中进行分配的
10.简述函数重载的定义
同名的函数通过不同的形参列表做类似的或者相同的事情,就叫做函数的重载,即只要函数的功能是类似的或者相同的,统一用一个函数名来进行表示
11.形参列表的不同体现在那些方面
1>形式参数个数的不同
2>形式参数数据类型的不同
3>形式参数顺序的不同
函数的重载要求这三个至少有一个不同
函数返回值的不同不能作为函数重载的条件
12.this指针变量产生的原因
为了辨别此时此刻正在处理哪个对象,this指针变量指向当前时刻正在处理的对象,即new()出来的东西
13.this指针变量的两种具体用法
1>在构造方法中this代表的是:this指针变量指向当前时刻正在创建的对象
构造函数中This.i = i的含义:
将局部变量i的数值发送给当前时刻正在创建的对象中的i成员
2>在普通方法中this代表的是:this指针变量指向当前时刻正在调用该方法的对象
非静态方法中默认都含有一个this指针变量,指向当前时刻正在调用该方法的对象,静态方法中不含有this指针变量,因为静态成员属于类本身的,不属于类对象的
14.static现实中的两种具体用法
1>统计一个类到底产生出多少个类对象
Static在这个程序中所起到的作用是:多个类对象公用类中的同一个属性,使用同一块内存空间
2>单态设计模式:要求一个类只能生成一个类对象
15.static的5个注意事项
1>如果一个成员前面加一个static,意味着这个成员不再是属于某个类对象的,而是被n个对象所共有的,即静态成员属于类本身的,由操作系统只分配一块内存空间,大家共同使用这一块内存空间,对同一个变量进行操作
不同的类对象,其属性所占的内存空间不同,但是却公用相同的方法,方法只在代码区分配一块存储空间,大家共同使用这一块内存空间
方法并不是属于类本身的,只有加上static,方法才属于类本身的
2>静态的属性和方法属于类本身的,可以通过类名的方式进行访问
3>静态的属性和方法,既然可以通过类名的方式进行访问,当然也可以通过类对象名的方式进行访问
4>static只是表明了该成员具有可以通过类名方式访问的潜在特征,但是否可以通过类名的方式进行访问,还必须满足一个条件:该成员必须是非私有的.
因为私有成员成员在类的外部连类对象名的方式都不可以进行访问
5>静态方法不能访问非静态成员,非静态方法可以访问静态成员,因为静态方法在使用前不用创建任何实例对象,而非静态方法在使用前必须先创建出类的实例对象,因为非静态方法中都隐含着一个this指针变量,而this指针变量指向的就是类对象
16.简述static的两个注意事项
1>static并不是访问控制符,并不是针对类外部而言的
2>static只能修饰普通方法,不能修饰构造方法,因为构造方法已经属于类本身了,不用在通过static进行修饰
17.简述类中的小知识点
一个类的属性可以是一个类对象
通常情况下在一个类里面很少定义一个对象就是它本身,实际意义很少