1. 封装
隐藏对象的属性和实现细节,仅对外提供公共public访问方式。
好处:提高了代码的复用性和安全性。
private是一个权限修饰符,可以修饰成员变量和成员方法,被其修饰的成员只能在本类中被访问。
当成员变量被private修饰时,在外部不能访问。
所以可以提供set/get方法,用于访问成员变量。
一个规范:
- 一般对类的属性都声明为private私有
- 对这个属性提供set/get方法
- set方法是间接赋值给属性
- get方法是间接获取属性的值
- set/get方法后面的属性的第一个字母要大写
2. this关键字
代表当前对应的引用。
应用场景:用来区分成员变量和局部变量重名。
this和外面调用的变量是指向同一地址的,指的是同一个对象。
成员变量/全局变量:这个变量,类里面的所有方法都可以访问,就是全局变量。例如:
class Person{
String name;//成员变量/全局变量
public void speak(){
String name = "A";//局部变量
//this.name 表示访问成员变量
System.out.println("I am" + this.name);
}
}
3. 构造方法Constructor
作用:给对象的数据(属性)进行初始化赋值。
构造方法格式特点:方法名与类名相同;没有返回值类型,void也没有;没有具体的返回值return。
4. 构造方法的重载
方法名相同,与返回值类型无关,只看参数列表。
5. 构造方法注意事项
如果没有给出构造方法,系统自动提供一个无参构造方法。
如果给出了构造方法,系统将不再提供默认的无参构造方法。
如果我们声明了有参构造方法,还想用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法。
6. 正确的set和构造方法的书写
set方法,注意这里的this.age!
class Person{
String name;//成员变量/全局变量
int age;
public void setAge(int age){
this.age = age;
}
}
构造方法,同样注意this.xxx
class Person{
String name;//成员变量/全局变量
int age;
public Person(String name, int age){
this.name = name;
this.age = age;
}
}
7. 成员变量(属性)赋值的三种方式
- 直接给属性赋值(开发中较少用)
- 通过setXxx()方法给属性赋值(开发中常用,一般属性会声明private私有)
- 构造方法,给对象中属性进行初始化
网友评论