Java 访问修饰符使用规则
2013-12-27 08:25
253 查看
作用域 | 当前类 | 同一package | 子孙类 | 其他package |
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
friendly | √ | √ | × | × |
private | √ | × | × | × |
类如果不写修饰符,默认是 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
相关文章推荐
- java中的访问修饰符及使用范围
- JAVA基础初探(四)JAVA封装、包的概念及使用、访问修饰符、this关键字、内部类(成员,静态,方法,匿名)
- java中局部变量可以使用访问控制修饰符吗?
- 1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用
- 6-1 java中的面相对象;使用包管理java中的类;java中的访问修饰符;java中的this关键字
- java中访问修饰符的使用,方法重写定义,final修饰符,布局的特点等等:
- java使用代理访问网络
- Java修饰符的访问权限
- Java基础(1)-修饰符与访问级别
- 在java中使用Jawin组件访问Windows应用程序
- java 访问修饰符
- Java 访问控制修饰符
- Java学习笔记之访问修饰符 、 this关键字 、内部类
- Java对文件的读、写随机访问,RandomAccessFile类的使用分析
- java使用线程请求访问每次间隔10分钟连续5次,之后停止请求
- Effective Java之在公有类中使用访问方法而非公有域(十四)
- 【Java】java使用反射访问对象方法和成员变量
- 关于Java访问修饰符、访问权限的问题
- Java访问权限修饰符的区别
- Java和C#访问修饰符的差异性与转换