一、封装
1.1什么是封装
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过提供的方法来进行访问。
1.2为什么要使用封装
隐藏类的实现细节;方便加入控制语句;只能通过规定方法访问数据;方便修改实现;
1.3分装使用的步骤
1.修改属性的可见性:将属性私有化
2.创建共有的getter/setter方法,用于属性的读和写
3.在getter/setter方法中加入属性控制语句,对属性的合法性进行判断
示例:
public class Person{
private String name; //将属性私有化
private int name;
private String address;
public String getName() { //创建公有的getter方法
return name;
}
public void setName(String name) { //创建共有的setter方法
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age<0||age>100){ //在方法中加入属性控制语句,对属性合法性进行判断
System.out.println("年龄超出范围,赋值失败");
}else{
this.age = age;
}
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
二、this关键词
this表示当前的
可以修饰属性、方法和构造方法
用法:this.属性
this.方法名()
this(构造方法名)
示例:
public class Person {
public String name;
public int age;
public Person() {
}
public Person(String name, int age) {
this(); //this()/this(参数);调用构造方法的时候只能在构造方法的第一句
this.show(); //this.方法名();
this.name = name; //this.属性名
this.age = age;
}
public void show(){
System.out.println("Hello");
}
注意: static修饰的方法中不可以使用this
三、static关键词
3.1为什么要使用static
有些对象共享类中的某个属性,这个属性就可以用static来修饰以节省空间
3.2 static可以修饰什么
可以修饰 属性【静态属性】 方法【静态方法】 代码块【静态代码块】
3.3 static特点
静态方法可以调用静态方法,不可以调用普通方法
普通方法可以调用普通方法 ,也可以调用静态方法
原因:静态方法是优先加载的,静态方法中若调用普通方法则会出现普通方法还未加载就需要调用的情况
3.4 使用
静态的属性 方法 代码块 可以通过类名点的方式直接调用
示例:
public class Person {
public static String name; //static修饰属性
public static int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public static void show(){ //static修饰方法
System.out.println("Hello");
}
}
class man{
public void Hello(){
Person.name="张三"; //类名.属性调用属性
Person.show(); //类名.属性调用方法
}
}