您的位置:首页 > 编程语言 > Java开发

Java 访问修饰符使用规则

2013-12-27 08:25 253 查看
作用域当前类同一package子孙类其他package
public
protected×
friendly××
private×××
1. 对于类:

类如果不写修饰符,默认是 friendly 的。Java 中并没有 friendly 修饰符的声明。

friendly 类型说明子类如果和此类不在同一包中是不可见的,简单说就是只有同一包中才可见。

protected 类型说明同一包中一定可见,但不同包中的子孙类中也可见,所以和 friendly 有区别。

普通类不可以用 private 和 protected 来修饰,但内部类可以。

- 内部类的详细解释请看这篇文章:http://lavasoft.blog.51cto.com/62575/179484/

内部类的简单总结:

内部类的分类:

普通内部类

方法内部类 (只存在于某个方法中)

匿名类,比如 new Thread(){}

静态内部类,static class,它不能访问外部类的非静态成员。要创建静态内部类对象时候,也不需要外部类对象了,直接可以 new 外部类名.内部类构造方法

接口内部类

public interface AInterface {
void readme();
//接口内部类默认是 static 的
class Inner1 implements AInterface {
public void readme() {
System.out.println("我是一个接口内部类");
}
}
}

class Main {
public static void main(String[] args) {
AInterface.Inner1 in1 = new AInterface.Inner1();
in1.readme();
}
}


内部类的特点:

内部类可以是 public,private 或 protected 的。

内部类可以直接访问外围类的成员和方法。

创建内部类:

Outer outer = new Outer();
//不可以直接Outer.new Inner();因为不是静态的
Outer.Inner iner = outer.new Inner()


2. 对于类(普通类和抽象类)方法和属性:默认是 firendly 的。

3. 对于接口:属性,public static final

方法,public abstract
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: