作用域 当前类 同一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

最新文章

  1. Java如何解决脆弱基类(基类被冻结)问题
  2. lvs的dr模式分析(二)
  3. MVVM架构~knockoutjs系列之验证信息自定义输出~再续
  4. sqlserver 纵横
  5. 公共POI导出Excel方法--java
  6. 基于ACE的定时器模板类
  7. ural 1207 Median on the Plane
  8. 搜索打表大找规律 (hdu2045)
  9. Jeditable 点击编辑文字插件
  10. 收集下shell使用笔记
  11. mutex和CRITICAL_SECTION,互斥和临界区
  12. 百度地图引用时 报出A Parser-blocking, cross site (i.e. different eTLD+1) script
  13. [ZZ] Valse 2017 | 生成对抗网络(GAN)研究年度进展评述
  14. Redis集群之Jedis的使用
  15. POJ 3074 Sudoku(算竞进阶习题)
  16. SVN远程管理
  17. (后端)如何将数据库的表导出生成Excel?
  18. spring mvc的例子
  19. Springboot返回html
  20. EPANET头文件解读系列7——MEMPOOL.H

热门文章

  1. 笔记-TCPCLIENT
  2. Oracle中关于DateTime的一些描述
  3. 高性能Web服务器Nginx的配置与部署研究(11)应用模块之Memcached模块的两大应用场景
  4. 快速上手Runtime(二)之给分类添加属性
  5. String.getBytes()[转]
  6. myeclipse10.X以上的破解方法
  7. 转载 二十篇java技术热文
  8. cookie用法小结 cookie.setPath 跨域共享
  9. [C#] IEnumerable vs IQueryable
  10. 4.4.6 数组也能无锁:AtomicIntegerArray