目录
六.带有static的方法和没有带static的方法分别怎么调用?
一.面向对象的三大特征 :
1.封装 2.继承 3.多态
有了封装,才有继承,有了继承,才能说多态。
面向对象的首要特征:封装。
二.什么是封装?
现实生活中有很多现实的例子都是封装的,例如:
手机,电视机,笔记本电脑,照相机,这些都是外部有一个坚硬的壳儿,封装起来,保护内部的部件,保证内部的部件是安全的,另外封装了之后,对于我们使用者来说,我们是看不见内部的复杂结构的,另外我们也不需要关心内部有多么复杂,我们只需要操作外部壳上的几个按钮就可以完成操作。
封装之后在本类中可以访问,在其他类中必须使用set和get方法。
三.封装有什么用呢?
第一个作用:保证内部结构的安全。
第二个作用:屏蔽复杂,暴露简单。
四.在代码级别上,封装有什么用?
一个类体当中的数据,假设封装之后,对于代码的调用人员来说,不需要关心代码的复杂实现,只需要通过一个简单的入口就可以访问了,
来保证数据的安全性。
访问一个对象的属性,通常包括两种操作,
一种是读数据,一种是该数据。
五.不使用封装机制,分析程序存在什么缺点?
类中的属性对外暴露,可以在外部程序中随意访问,导致了不安全。
六.带有static的方法和没有带static的方法分别怎么调用?
带有static的方法通过“类名.”的方式访问。(在同一个类中,类名.可以省略)
没有带static的方法称为:实例方法(对象方法,对象级别的方法)
先new出对象,然后通过“引用.”调用
对象被称为实例。
实例相关的有:实例变量、实例方法。
实例变量是对象变量,实例方法是对象方法;
实例祥光的都需要先new对象,通过“引用.”的方式去访问。
七.构造方法空指针异常导致的最本质的原因是?
空应用访问“实例相关的数据”,会出现空指针异常。
实例相关的包括:实例变量+实例方法。
类 = 属性+方法
//属性描述状态,方法描述行为动作
八.封装
访问一个对象的属性,通常包括两种操作,一种是读数据,一种是改数据。
优点:第一数据安全了 第二:调用者也方便了。
private表示私有的,被这个关键字修饰后,该数据只能在本类中访问。 出了这个类就无法访问,私有的。
对外提供两个访问入口,
一个方法专门来完成读(get)
一个专门来完成写(set)
1.get和set方法应该带有static吗?
对外停供公开的set方法和get方法作为操作入口,并且都不带static
java中开发规范中有要求,set方法和get方法要满足以下格式。
get方法的要求:
public 返回值类型 get+属性名(首字母大写)(无参){
return 属性名;
}
set方法的要求:
public void set+属性名(首字母大写)(1个参数){
属性名 = 参数名;
}
2.通过“类名.”可以调用set和get方法吗?
只有方法修饰符列表中有static的时候,才能使用“类名.”的方式访问。
3.封装的代码实现两步:
(1).属性私有化
(2).1个属性对外提供两个set和get方法,外部程序只能通过set方法修改,只能通过get方法读取,可以在ste方法中设立关卡来保证数据的安全性。
注意:set和get方法都是实例方法,不能带static
不带static的方法称为实例方法,实例方法的调用必须先new对象。