4.30 Java

1.作用域

在java中可以用来限定访问域的修饰符:public、protected、private、package

public

定义为public的类,接口可以被任何其他类访问。

定义为publicfieldmethod可以被其他类访问,前提是首先有访问class的权限

protected

作用于继承关系,定义为protected的方法可由其子类和子类的子类调用。

private

定义为privatefieldmethod无法被其他类访问,确切地说,private访问权限被限定在class的内部,而且与方法声明顺序无关

如果一个类内部还定义了嵌套类,那么,嵌套类拥有访问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();
        }
    }
}

package

包作用域是指一个类允许访问同一个package的没有publicprivate修饰的class,以及没有publicprotectedprivate修饰的字段和方法。只要在同一个包,就可以访问package权限的classfieldmethod。

package abc

class Hello {
    // package权限的方法:
    void hi() {
    }
}

class Main {
    void foo() {
        // 可以访问package权限的类:
        Hello h = new Hello();
        // 可以调用package权限的方法:
        h.hi();
    }
}

2.内部类

被定义在一个类内部的类被称为内部类,java的内部类分为好几种:成员内部类、静态内部类、局部(方法)内部类、匿名内部类。

/**
*	我是一个外部类(外部是相对内部而言)
*/
public class Outer{
	/**
	*	我是一个内部类
	*/
	class Inner{
	//...
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值