![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面向对象
文章平均质量分 50
Yang__Sang
没事别升级jdk
展开
-
抽象类与接口
抽象类不需要去实例化(没有实例化必要的类)就可以作为一个抽象类没有方法体,只是为了被子类重写的方法就可以作为一个抽象方法抽象类前加上abstract此时这就是一个抽象类,如果产生过hi创建抽象类的实例就是编译报错给方法前加一个abstract此时该方法就是抽象方法不需要方法体抽象方法只能再抽象类和接口中存在不能在普通类中存在抽象方法存在的意义就是为了让子类进行重写abstract关键字存在的意义就是让程序员明确的告诉编译器,这是一个抽象类,冰盖进行实例化,于是比那一起就i要做好相关的检查工作原创 2021-01-24 10:06:17 · 101 阅读 · 0 评论 -
java面向对象-多态
多态能够帮助我们解决大量的分支语句的情况1.向上转型父类的引用指向了一个子类的对象(看起来好像把子类的引用转成了父类的引用)例:public class Cat extends Animal {}public class Animal {}向上转型第一种情况 Animal animal1=new Cat();向上转型第二种情况 public static void main(String[] args) { //向上转型也可能存在在方法传参的过程中原创 2021-01-22 11:32:07 · 145 阅读 · 0 评论 -
面向对象继承“套娃”
继承规则创建子类实例的时候,会构造父类的实例(调用父类方法)初始化顺序:限制性就地初始化,再执行代码,再进行构造方法。(不分先后顺序)yxyz1.new Z()的时候会先构造父类的实例,进入x中执行2.构造x的实例的时候,先就地初始化再调用构造方法,于是进入yzhixing3.执行y的构造方法,打印了y4.执行x的构造方法,打印x5.父类x已经准备就绪,开始进行子类z的初始化6.对于z来说也是先执行就地初始化,在调用构造方法7.就地初始化就是进入yzhixing,只需要调用构造原创 2021-01-21 16:38:22 · 253 阅读 · 3 评论 -
Java复习之面向对象(组合等)
组合组合是为了代码重用,也是面向对象的一个重要特征组合:学校拥有一个校长,拥有两个教师,拥有五个学生而不能说学校就是一个校长继承:猫是一种动物实际编程中,组合会用的多一些在一个类中存在其他类的属性称组合组合表示的语义 has - a(拥有xxx,包含xxx)继承表示的语义is - a (是xxx)向上转型:使用父类的引用指向一个子类的实例不同类型之间的引用一般情况是不允许两者相互赋值的,除非两者是父子的关系往父类的方向转“向上转型”三种方式在这里插入图片描述可省原创 2021-01-21 16:20:28 · 136 阅读 · 0 评论 -
java复习之面向对象3(继承)
继承目的就是为了让代码能够很好的被重复使用以前进行代码重用,主要是通过方法来完成继承是为了把类进行重用继承相关的核心概念1.父类(被继承)基类 超类2.子类(继承的)派生类 子类extends 关键字 保持现有功能存在的前提下,加入了新的功能...原创 2021-01-20 23:41:53 · 252 阅读 · 0 评论 -
复习之面向对象2
在jvm中的内存区域中除了堆,栈之外还有一个方法区二进制指令,cpu来执行方法中存的是一个一个的“类相关的信息”(每个类的方法的二进制指令也是存在这里的)对于属性来说,如果一个属性是一个实例属性,那么不在方法区而是跟着实例走(实例一般在堆上)二如果属性是一个类属性(用static修饰),那么也就在方法区中。对于方法来说不管是加static还是不加static都是在方法区中。在操作系统中,一个进程的区域,也备份成若干个部分,也是有堆,栈代码段…而在jvm中也是对内存进行了划分,这个是jvm自己从原创 2021-01-18 19:33:57 · 69 阅读 · 0 评论 -
Java复习之面向对象(1)
从代码/语法的角度看待类:自定义类型(高配结构体)对象:自定义类型创建出来的变量类相当于把现实事物的属性和行为结合到一起了。光有一个类还不够,还需要根据这个类创建一些具体对象,这个操作也称为“实例化”当我们创建好对象和实例后,核心操作是访问成员变量(属性),访问成员方法(函数)通过“.”操作符...原创 2021-01-17 20:56:06 · 93 阅读 · 0 评论