初学java,总是想将它与之前的C++做比较,看了慕客网的java入门视频,一直觉得在面向对象方面,它和C++有太多相同的地方,结果今天学到了两点不同之处,现在将它记录下来:
1. java的访问修饰符有四种:private 默认 protected public ,如果成员变量或者成员函数前不写访问修饰符的话,则默认是同一个包中的可以访问,其他不可以
2. 内部类,就是可以定义在一个类或者函数内部的类,内部类可以访问外部类的所有数据,包括私有成员变量。内部类分为四种类型:成员内部类 静态内部类 方法内部类 匿名内部类
成员内部类 (1)外部类不可以直接访问内部类的成员,需要先定义内部类的对象,再通过对象来访问其成员。
(2) 必须通过外部类对象创建内部类对象,Outer ou = new Outer( ) Inner in = ou.new Inner()
静态内部类 public static class Inner{ } 可以直接 内部类 对象名 = new 内部类( ) 来创建
方法内部类 定义在方法内部的类,只能在该方法内使用,不能加 访问修饰符和static
匿名内部类 没有名字,所以只能使用一次,可以用来简化代码