JAVA面向对象本质上就是类所展开的所有用法,不信我列给你看
JAVA通过类可展开出访问权限修饰符、属性、方法、构造方法
1、访问权限修饰符没啥好说的:public protected 默认 private
2、属性就是对象的数据或者静态特征
3、方法就是对象的行为
说到方法又可以展开说:重载
重载的作用就是可以用相同的方法名去做不同的事,就假设有一个方法他特别适合某个名字,可是这个名字已经给另一个方法已经占用了,此时就可以使用重载,重载解放了方法名,不再使方法名有局限性。
重载的条件:形参列表不同,方法名相同
4、构造方法的作用就是当我们new对象的时候我们可以对成员变量进行初始化,构造方法的第一句永远都是super(),先调用父类的构造方法,加载父类信息然后再往下执行。
而构造方法也有重载,使用this()就可以调用不同的构造方法,但是this()也必须在第一行,那此时就有兄弟要问了:哎呀,这个super()必须在第一位,this()也在第一位,如果同时出现是谁在第一位呢?这里我推荐大家点击这个链接看看:构造器中super与this语句为什么必须放在第一位?_white camel的博客-CSDN博客_super和this必须放在第一行https://blog.csdn.net/m0_37989980/article/details/109670359
类又衍生出了继承、封装、多态
1、继承就是子类继承父类,子类会把父类的所有属性和方法都继承过来,但不见得可以用。有了继承就有了super(),构造方法的第一行一定是super(),就算你没写系统也会默认给你加上
2、封装就是对属性、方法的封装,属性建议使用private修饰,然后用get()、set()来获取或者赋值,方法建议使用public或者默认修饰,除非是辅助性方法用private
3、多态就是父类引用指向子类对象,说到父类引用指向子类对象就不得不说个
向上转型(自动转型)and向下转型(强制转型)
1、向上转型就是当我们使用父类引用指向子类对象的时候,系统会默认向上转型
2、向下转型就是当我们的父类引用想用子类特有的方法的时候,就需要向下转型,因为有个口诀:编译看左边,运行看右边,你如果在编译阶段想要用父类引用调用子类特有的方法,那么编译器就会报错
3、向下转型可能会遇到什么问题?
类型转换异常(ClassCastException)
4、如何解决这种问题?
在向下转型之前使用instanceof操作符测试左边的对象是否是右边类或者该类的子类创建的实例对象
类还可以展开为抽象类、接口、内部类......