JAVA面向对象编程上重点总结

来源:互联网 发布:好听有内涵的名字知乎 编辑:程序博客网 时间:2024/04/19 21:03

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.简述类中的小知识点

一个类的属性可以是一个类对象

通常情况下在一个类里面很少定义一个对象就是它本身,实际意义很少

 

 

 

 

 

2 0