1:类的修饰符(public公共的,protected、没有修饰,private私有的)
public:是表示公共的,所有的都可以访问, 在一个文件中只能有一个public修饰一个类,如果文件中还有一个public修饰那么就会发生编译时异常,需要更改public
private:是一个私有的,如果一个方法或者方法或者变量被private修饰,那么就不能被其它类所访问,只能被自己所在的类中的方法或者内部类访问。如果想要访问就需要在当前类中打开一个接口,写一个允许其他类访问的方法,这个方法是进行操作这个私有的,其他类调用这个方法再传值。。。。(例如Getter Setter)
protected:可以让被protected修饰的所属包的类访问,其他包不可以访问,但是如果其他包想访问就只能是他的子类才能访问,或则他的后代孙子类这种才能访问
没有修饰的:只能让所属包访问
2:匿名对象
比如有一个Person类,在一个集合中想要将Person保存进去,不考虑传值的问题传统做法是:
Person person =new Person();
ArrayList<Person> list = new ArrayList<>();
list.add(person )
如果使用匿名内部类的话:
ArrayList<Person> list = new ArrayList<>();
list.add(new Person())
而且这样的匿名内部类也是可以调用里面的方法,用完以后就会被回收,不是匿名内部类的会在当前方法弹栈以后回收或者在栈内存中没有指向堆内存时回收
3:继承
子类继承父类格式:子类 extends 父类
子类会继承父类的方法和变量,相当于是在不改变父类的情况下扩展父类,父类也相当于是将所有的子类的共同的特性提取了出来,注意的是子类不能使用父类的私有的变量或者方法,原因就是private修饰符只能在当前类使用
4:抽象类
抽象类关键字:abstract
当一个方法用了抽象类修饰:格式:权限修饰符 abstract 返回值 方法名(参数)();没有方法体, 那么所属类也必须要加上abstract修饰 ,并且当被继承以后子类必须要重写他的抽象方法,如果子类不想写他的抽象方法那么需要将子类也变成抽象方法