Java(九)——面向对象(5)-包与作用域

包、作用域

一、包

  • 位于同一个包的类,可以访问包作用域的字段和方法
package com.company;

public class Person {
    // 包作用域:
    void hello() {
        System.out.println("Hello!");
    }
}
package com.company;

public class Main{
    
    public static void main(String[] args){
        Person p = new Person();
        p.hello();
    }
}

  • 在不同的包中,可以使用import来导入
package org.apache

import com.company.Person

二、作用域

1、权限

限制作用域的关键字:默认publicprivateprotected

·定义为public的class、interface可以被其他任何类访问
·定义为private的field、method无法被其他类访问
·protected作用于继承关系。定义为protected的字段和方法可以被子类访问,以及子类的子类
本类中 子类中 同包类中 其他类中
public 可以 可以 可以 可以
protected 可以 可以 可以 不可以
默认 可以 同包子类可以 可以 不可以
private 可以 不可以 不可以 不可以

2、包作用域

  • 一个.java文件只能包含一个public类,但可以包含多个非public类。如果有public类,文件名必须和public类的名字相同。
原文地址:https://www.cnblogs.com/linagcheng/p/12166793.html