Java基础–面向对象-访问修饰符
1. 访问修饰符
java对于成员变量、方法、类的访问权限有明确的把控。这些通过访问修饰符实现,访问修饰符共有private,public,protected,默认(friendly)4种。
2. 类访问权限
2.1 修饰符
类的访问权限共有两种,通过修饰符public和默认修饰符。
//student.java
package day1;
public class Student{......}
class OneClass{......}
- public:公开类,所有类均可访问。
- 默认:包内类,同一个包内允许访问
举个栗子
/*
项目结构:
-lolhero
-BaseHero.java
-game
-Test.java
*/
//BaseHero.java
package lolhero;
public class BaseHero{...}
class HeroTest{...}
//Test.java
package game;
public class Test(){
public static void main(String[] args){
new BaseHero();
new HeroTest(); //报错,不通过,无法访问该类。
}
}
2.2 详解
- 除去访问修饰符,还有abstract和final可以用作类的修饰符。
- private表示私有不公开,不允许外部访问。对于外部类,将其声明为private是没有意义的,一个不能在其他类中使用的类毫无作用。所以,private只能用于内部类的修饰,表示该内部类只能在他的外部类中使用(初次接触时,可以把内部类看作一个私有成员)。
- protected与默认修饰方式的区别在于protected支持包外子类的访问。假设一个类可以被protected修饰,同样的,他只能用于内部类。
3. 成员访问权限
3.1 修饰符
成员变量、方法有四种访问权限,对应四种修饰符,分别如下:
注:有访问权限√表示
异包其他类 | √ | |||
---|---|---|---|---|
异包子类 | √ | √ | ||
同包 | √ | √ | √ | |
本类 | √ | √ | √ | √ |
private | 默认(friendly) | potected | public |
3.2 总结
修饰符是用来限制类内部成员的访问权限的,把内部类也看作内部成员,用法一致。
8