内部类
plus:在某个类里面****创建的新类,而不是引用外部已经创建的类并将其作为成员属性
分类:
- 1.成员内部类
1)静态 在main中 实例化内部类的 因为是静态类随着外部类的加载而加载故可直接new 而不需要实例化外部类
person.mind =new person.mind();
2)非静态 先实例化person才能出现非静态的内部类 person p=new person(); p.mind mind=p.new mind();
重名属性的调用: 参数列表直接 name 当前类(内部类) this.name 外部类的 person.this.name - 2.局部内部类
- 1)构造器,代码块,成员函数内
-
局部内部类所在的方法内,若定义了这个方法内的局部变量,内部类可以用但是不能修改
抽象类
- 理解:为其它的有具体作用的类相当于搭建一个骨架或提纲,因此不可以投入实际的使用(抽象类自身不能实例化)
- abstract class …{ } 虽然不可实例化,但是具有构造器以便于子类实例化
抽象方法
- 只有方法头(加上分号),无方法体 public abstract void show();
- abstract (意味着只有重写后这个方法才可用)方法 所以 不可修饰 静态,final,私有 这些都代表不可重写的属性