文章目录
简介
访问修饰符,在java中访问修饰符一共3种,共4类。
- public
- protected
- private
- 第四类(不写任何修饰符)
对于第4类,不同的人给的名字不一样(不同的编程语言叫法不一样),大致如下几种说法:
default/package/friendly
**注意:**没有上面这几个关键字,仅仅是我们开发者区分的方式,并没有这些关键字。
访问权限范围
使用类.属性
方式在不同修饰类型的各种情况下的权限和使用类.方法
方式在不同修饰类型的各种情况下的权限:
修饰类型 | 自身 | 同包子类 | 同包非子类 | 不同包子类 | 不同包非子类 |
---|---|---|---|---|---|
public | √ | √ | √ | √ | √ |
protected | √ | √ | √ | × | × |
private | √ | × | × | × | × |
无(default) | √ | √ | √ | × | × |
访问修饰符修饰属性的意义
- 访问修饰符修饰属性代表什么含义?
一个类可以包含若干属性。
- 什么叫属性的访问?
给属性赋值,读取属性的值
- 访问属性的语法格式是什么?
对象名.属性名
对象名.属性名 = 值;
类型 变量 = 对象名.属性名
public
当使用public修饰类的属性时,访问权限是最大的。
-
在任何类中都可以访问这个属性(对象名.属性名)
-
正因为public的权限过大,所以定义成public的属性是最不安全的。因为,在任何类中都可以访问。你的访问是直接的访问(对属性的修改直接生效了,直接把数据写入到内存了)
-
属性尽量不用public修饰,如果要修改属性可以通过给类中的属性添加set、get方法间接修改、获取属性的值
protected
当使用protected修饰类的属性时,访问权限会减小。
- 在自身类、同包子类、同包非子类里可以访问
- 因此具有一定的安全性
默认级
当类的属性没有修饰符修饰时,访问权限会减小。
- 在自身类、同包子类、同包非子类里可以访问
- 因此具有一定的安全性
private
当使用private修饰类的属性时,访问权限最小。
- 只能在自身类中访问。
- 因此具有最高的安全性。
选择修饰符
安全第一,能使用private就使用private,不行的话,在使用别的修饰符,最后再使用public。
一般情况下使用private来修饰属性,这样可以隐藏属性,让外界无法直接访问,从而保证数据的安全。
访问修饰符修饰方法的含义
public
当使用public修饰类中的方法时,访问权限是最大的。一般情况下,方法的修饰符都是public。
可以在任何类中访问这个方法
protected
当使用protected修饰类的方法时,访问权限会减小
可以在自身类,同包子类,同包非子类中访问。
默认级
当类的方法没有修饰符时,访问权限会减小
可以在自身类,同包子类,同包非子类中访问
private
当使用private修饰类的方法时,访问权限最小
只能在自身类中访问。
访问修饰符修饰类的含义
需要注意的是:
如果修饰类,只有1个关键字,2类方式
-
public
-
什么都不写,是默认default/package/friendly
一个java文件里可以写n多个类,只需要你满足定义类的语法格式即可。
类的语法格式如下:
class 类名{
属性和方法
}
但是如果你的类用public修饰了。这个类的名字必须与java文件同名,因此一个java文件里只能出现一个public修饰的类。
多数情况下,一个java文件中只有一个类;个别情况下,一个java文件中出现多个类。出现多个类时,其他类与这个类有着很强的关联关系。其他类是配合(辅助)这个类的。
-------------------------------------下一章节->JavaSE之关键字--------------------------------
-------------------------------------返回->JavaSE系列<-目录-------------------------------------