java面向对象学习--作用域
原文链接:https://www.cnblogs.com/Time25/p/19891061.html
public
定义为public的类,方法这些可以被其他任何类访问
1
2
3
4
5
6 package abc;
public class Hello {
public void hi() {
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package xyz;
class Main {
void foo() {
// Main可以访问Hello
Hello h = new Hello();
}
}package xyz;
class Main {
void foo() {
Hello h = new Hello();
h.hi();
}
}private
定义为private的,只能被限制在该类中使用
由于Java支持嵌套类,如果一个类内部还定义了嵌套类,那么,嵌套类拥有访问private的权限:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 // private
public class Main {
public static void main(String[] args) {
Inner i = new Inner();
i.hi();
}
// private方法:
private static void hello() {
System.out.println("private hello!");
}
// 静态内部类:
static class Inner {
public void hi() {
Main.hello();
}
}
}
//定义在一个class内部的class称为嵌套类(nested class),Java支持好几种嵌套类。protected
protected作用于继承关系。定义为protected的字段和方法可以被子类访问,以及子类的子类:
后面还有一些什么final之类的之前已经学过的就不做笔记了
