访问修饰符
- 在java中访问修饰符一共3种,共4类。
- public
- protected
- private
- 第四类(不写任何修饰符)
- //对于第4类,不同的人给的名字不一样(不同的编程语言叫法不一样)
- default/package/friendly
- 注意:没有上面这几个关键字
要研究以下内容:
- 访问修饰符修饰属性代表什么含义?
一个类可以包含若干属性。
什么叫属性的访问?
给属性赋值
读取属性的值
访问属性的语法格式是什么?
对象名.属性名
对象名.属性名 = 值;
类型 变量 = 对象名.属性名
当使用public修饰类的属性时,访问权限是最大的。
在任何类中都可以访问这个属性(对象名.属性名).
正因为public的权限过大,所以定义成public的属性是
最不安全的。
因为,在任何类中都可以访问。你的访问是直接的访问(
对属性的修改直接生效了,直接把数据写入到内存了)
属性尽量不用public修饰
当使用protected修饰类的属性时,访问权限会减小。
在自身类、同包子类、同包非子类里可以访问。
因此具有一定的安全性
当类的属性没有修饰符修饰时,访问权限会减小。
在自身类、同包子类、同包非子类里可以访问。
因此具有一定的安全性
当使用private修饰类的属性时,访问权限最小。
只能在自身类中访问。
因此具有最高的安全性。 - 如何选择修饰符呢?
- 1、安全第一。
- 能使用private就使用private
2、不行的话,在使用别的修饰符,最后再使用public。
一般情况下使用private来修饰属性,这样可以隐藏属性,让外界
无法直接访问,从而保证数据的安全。
访问修饰符修饰方法代表什么含义?
当使用public修饰类中的方法时,访问权限是最大的,
可以在任何类中访问这个方法
当使用protected修饰类的方法时,访问权限会减小,
可以在自身类,同包子类,同包非子类中访问。
当类的方法没有修饰符时,访问权限会减小,可以在
自身类,同包子类,同包非子类中访问
当使用private修饰类的方法时,访问权限最小,只能在
自身类中访问。
一般情况下,方法的修饰符都是public。
访问修饰符修饰类代表什么含义?
需要注意的是:
如果修饰类,只有1个关键字,2类方式
public
什么都不写,是默认default/package/friendly
一个java文件里可以写n多个类。
只需要你满足定义类的 语法格式 即可。
类的语法格式如下:
class 类名{
属性和方法
}
如果你的类用public修饰了。这个类的名字必须与java文件同名
因此一个java文件里只能出现一个public修饰的类。
多数情况下,一个java文件中只有一个类。
个别情况下,一个java文件中出现多个类。
—其他类与这个类有着很强的关联关系。
其他类是配合(辅助)这个类的。
public class Person {
public String name;
protected String sex;
int age;
private String peiou;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPeiou() {
return peiou;
}
public void setPeiou(String peiou) {
this.peiou = peiou;
}
public static void main(String[] args) {
Person zhangsan = new Person();
//name是public
zhangsan.name = "张三";
String name = zhangsan.name;
System.out.println(name);
//sex是protected
zhangsan.sex = "男";
String sex = zhangsan.sex;
System.out.println(sex);
//age是无修饰符
zhangsan.age = 25;
int nianling = zhangsan.age;
System.out.println(nianling);
//peiou是private
zhangsan.peiou = "凤姐";
String peiou = zhangsan.peiou;
System.out.println(peiou);
}
}