why的自学JAVA学习笔记2 qwq

JAVA学习笔记2

2020年7月30日

封装

封装,指的是对一个类进行包装封闭,使内部的数据安全,不会被随意修改访问。就像电视机和遥控器,电视机是一个非常复杂的器件,但是我们只需要用遥控器进行简单的操作就能完成对电视机的控制,对于用户来说,他们的使用方便快捷易懂,不易出错,体验好;对于开发者来说,封装保证了自己程序内部的安全,不易被修改,也保证了产品的稳定性。

如何封装?首先要将类中的属性设为私有化
封装的第一步:关键字 private
private 表示私有的,被这个关键字修饰之后,该数据只能在本类中访问。
出了这个类,属性就无法访问了。私有的。
例如,定义一个类 人类Person

public class Person{
	 private int age; // 每一个人年龄值不同,对象级别的属性。
 }
 

这样age 就是一个私有变量,仅在Person类中允许被访问,在外部访问是无法做到的。
但是这样又未免太过安全,使得age成了无用之物。这时就得需要接口方法
接口方法分为读数据(get)和写数据(set)方法,他们来完成对类中私有变量的读取和更改写入

get读年龄,set改年龄,这个读和改都是操作的一个对象的年龄。(没有对象何来年龄)
封装的第二步:对外提供公开的set方法和get方法作为操作入口。并且都不带static。都是实例方法。
下为实例方法的格式

[修饰符列表] 返回值类型 方法名(形式参数列表) 
{}
//get方法,只需return age变量即可完成对age的读取;
public int getAge(){
  return age;
 }

//set方法,通过传参去修改age变量
public void setAge(int nianLing){
	age = nianLing;
 }

**注意:
	java开发规范中有要求,set方法和get方法要满足以下格式 
   get方法的要求:
        public 返回值类型 get+属性名首字母大写(无参){
    			  return xxx;
     }		
    		 
**set方法的要求:
     	public void set+属性名首字母大写(1个参数){
     			 xxx = 参数;
     }**

一般来说,在set方法都会去加上限制条件来判断输入是否合法,从而去避免对数据的乱改而造成破坏。
对于age来说

public void setAge(int nianLing){
  // 在这个位置上设置关卡
  if(nianLing < 0 || nianLing > 150){
   System.out.println("对不起,年龄值不合法,请重新赋值!");
   return; //直接终止程序的执行。
  }
  //程序能够执行到这里,说明年龄一定是合法的。
  age = nianLing;
 }

空指针异常NullPointerException

出现空指针异常的前提条件是?
"空引用"访问实例【对象相关】相关的数据时,都会出现空指针异常。
空指针异常导致的最本质的原因是?
空引用访问“实例相关的数据”,会出现空指针异常。
实例相关的包括:实例变量 + 实例方法。

你可能感兴趣的:(why的自学JAVA学习笔记2 qwq)