java面向对象学习--作用域

public

定义为public的类,方法这些可以被其他任何类访问

package abc;

public class Hello {
    public void hi() {
    }
}
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的权限:

// 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之类的之前已经学过的就不做笔记了

posted @ 2026-04-19 15:41  Time_q  阅读(6)  评论(0)    收藏  举报