![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java面向对象
文章平均质量分 72
胡啊呦
这个作者很懒,什么都没留下…
展开
-
理解Java中的类与对象以及方法
Java面向对象(一) 类与对象以及方法面向对象概述面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。在OOP中,不必关心对象的具体实现,只要能够满足用户的需求即可。类类是构造对象的模板或蓝图。Java编写的所有代码都位于某个类的内部。Java中的类文件时以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public...原创 2018-07-23 21:03:11 · 990 阅读 · 1 评论 -
理解Java中的静态域、代码块和内存区域图
Java面向对象(二) 静态域、代码块和内存区域图静态域将域定义成static后,每个类中只有一个这样的域,与类相关的,也称为类成员。但是每个对象对于所有的实例域却都有自己的一份拷贝。静态域会随着类的加载而加载并初始化,存在于方法区内存中的字节码文件的静态区域中。优先于对象存在,先有方法区的类加载,后才可能会有堆内存的对象实例化。静态域会被所有的对象共享,也称为共享区。一般共...原创 2018-07-23 21:04:50 · 4135 阅读 · 3 评论 -
全面理解Java中继承关系
Java面向对象(三) 继承和final实例继承概述继承是面向对象思想的三大特性之一,使类与类之间产生特殊 - 一般的关系,即is-a关系。继承是从已有类中派生出新的类,新的类能吸收已有类的属性和方法,并且能拓展新的属性和行为。在Java中使用extends关键字表示继承,语法表示为: class 子类 extends 父类{}子类被称为派生类,父类又被称为超类。子类...原创 2018-07-23 21:06:05 · 12568 阅读 · 1 评论 -
Java中组合关系
组合组合关系概述实现类的复用除了继承外,还可以使用组合的方式,把该类当成另一个类的组合成分,从而允许新类直接复用该类的public方法。不管继承还是组合,都允许在新类(对于继承就是子类)中直接复用旧类的方法。组合是把旧类对象作为新类的成员变量组合起来,用以实现新类的功能,用户看到的是新类的方法,而不能看到被组合对象的方法。因此,通常要在新类里使用private修饰被组合的旧类对象...原创 2018-08-01 17:07:37 · 11581 阅读 · 0 评论 -
全面理解Java中的final修饰符
final修饰符final 可用于修饰类、变量和方法,用于表示它修饰的类、方法和变量不可改变。final修饰的大都应用于基本类型域,或不可变类。 不可变类:如果类中的每个方法都不会改变其对象,这种类是不可变的类。例如String类。对于可变类,使用final修饰只是表示存储在对象变量中的对象引用不会再指向其他对象,不过这个对象中的属性可以更改。final修饰特点修饰类时...原创 2018-08-01 17:15:30 · 3405 阅读 · 0 评论 -
Java-缓存不可变类
不可变类不可变类的意思是创建该类实例后,该实例的实例变量是不可改变的。Java中的8个包装类和java.lang.String类都是不可变类,当创建它们的实例后,其实例变量不可改变。如果需要创建自定义的不可变类,遵循以下规则:使用private和final修饰符来修饰该类的成员变量提供带参数构造器,用于根据传入参数来初始化类中的成员变量仅为该类的成员变量提供getter方法,不...原创 2018-08-01 17:17:18 · 398 阅读 · 0 评论 -
理解Java中的多态和instanceof
多态事物 存在的多种形态多态的前提有继承关系有方法重写有父类引用指向子类对象多态成员访问特点成员变量编译看左边(父类),运行看左边(父类)。成员方法编译看左边(父类),运行看右边(子类)。动态绑定静态方法编译看左边(父类),运行看左边(父类)。静态和类相关,算不上重写,只是子类运行时覆盖了父类的静态方法,所以访问还是看父类。只有非静态成...原创 2018-08-01 17:29:20 · 712 阅读 · 0 评论