2019-03-28 java基础 浅谈封装,继承,多态,,还有一点点类与对象,垃圾回收
1.封装,,,封装的载体是类,,类里面有属性和方法,,把类的内部影藏起来 这就是封装的思想,,
封装的思想保证了类内部的数据结构的完整性,用户不能轻易的直接操作次数据结构,只能执行类允许公开的数据。这样就避免了外部操作对内部数据的影响,提高了程序的维护性
2.继承
继承主要利用特定对象之间的共有属性,例如平行四边形是四边形,正方形长方形也是四边形,,但不能说四边形式平行四边形,,,,父类就相当于定义了一个抽象的四边形类,,子类平行四边形继承了父类的方法和属性 然后还有了自己特殊的属性和方法。
一个继承体系中 它可以使父类同时还可以使其他类的子类 例如 图形类—三角形 ----等腰三角形
3.多肽
多肽是在继承的基础上。。
一般父类都是抽象类 然后子类继承
例如: 绘制图形的类 然而没人知道他会绘制什么图形,,所以来一个子类 继承然后有自己的特殊属性方法—当绘图时 简单的调用父类的方法即可绘制出任何想要的图形,这就是多肽的思想
抽象类不可以实例化对象。在多态的机制中 父类通常会被定义成抽象类,在抽象类中给出一个方法的标准,而不给出实现的具体流程
类与对象
1.不定长参数
声明方法时 如果有若干个相同类型的参数,可以定义为不定长参数
例如
public void xll (int…x){
}
2.构造方法
构造方法与类名相同,每当类实例化一个对象时,类都会自动调用构造方法。
构造方法的特点如下:
1.构造方法没有返回类型,也不能定义为void
2.构造方法名称要与类名一样
3.构造方法的主要作用是完成对象的初始化工作,它能把定义对象的参数传给对象成员
例:
class Book{
public Book{
}
}
在构造方法中可以为成员变量赋值,这样当实例化一个本类的对象时,相应的成员变量也将被初始化。
如果类中没有明确定义构造方法,则编译器会自动创建一个不带参数的默认构造方法。
除此之外,在类中定义构造方法时,还可以为其添加一个或者多个参数,即有参数的构造方法。
如果类中有一个有参数的构造方法,则编译器不会添加一个不带参数的构造方法
构造方法可以用private修饰,私有构造方法,私有构造方法无法用new创建 ,如果要创建只能通过定义一个static方法,并调用该静态方法生成该对象
例如
public class BookTest{ private BookTest{ } static BookTest xll(){ sysytem.out.println("通过调用静态方法创建对象"); return new BookTest(); } public static void main(String[] args){ BookTest book = BookTest.xll(); } }
垃圾回收,,,
每个对象都有生命周期,当对象生命周期结束时,分配给该对象的内存地址会被回收。
首先需要了解何种对象会被java虚拟机视为垃圾。主要包括以下两种情况
1.对象引用超过其作用范围,这个对象将被视为垃圾
2.将对象赋值为null;
虽然垃圾回收机制已经很完善,但垃圾回收器只能回收那些由new操作符创建的对象,如果某些对象不是通过new操作符在内存中获取一块内存区域,这种对象可能不会垃圾回收机制识别,所以在java中提供了一个finalize()方法。这个方法时Object类的方法,它被声明为protected,用户可以在自己的类中定义这个方法。如果用户在类中定义了finalize()方法,在垃圾回收时会首先调用该方法,在下一次垃圾回收动作发生时,才能真正回收被对象占用的内存。
由于垃圾回收不收人控制,具体执行时间也不确定,所以用System.gc()方法强制启动垃圾回收器,这就相当于打120一个道理,告知垃圾回收器进行清理。
- 点赞
- 收藏
- 分享
- 文章举报
- 初识JAVA(【面向对象】:pub/fri/pro/pri、封装/继承/多态、接口/抽象类、静态方法和抽象方法;泛型、垃圾回收机制、反射和RTTI)
- JAVA基础1.面向对象三大特性:封装、继承、多态
- JAVA基础知识:面对对象特性【继承】【 多态】【 封装】【 接口】
- Java基础——static关键字、bolok块、import关键字、GC垃圾回收机制、封装、继承、JavaBean编码规则
- [Think In Java]基础拾遗1 - 对象初始化、垃圾回收器、继承、组合、代理、接口、抽象类
- Java基础--面向对象2(封装、继承、访问修饰符、super关键字、多态)
- java基础三大特性——封装、继承与多态
- Java基础笔记 – 面向对象三个特征 继承、封装、多态及编程细节提示
- Java面向对象、抽象、封装、继承、多态
- 面向对象基础知识(5)- 封装 继承 多态
- Java 面向 对象之封装 、多态、继承 (2)
- JAVA初等基础__(面向对象三个特征, 封装,继承,多态)
- 浅谈JavaScript的面向对象和它的封装、继承、多态
- 设计模式学习(一):java 面向对象特征:抽象、封装、多态、继承
- 浅谈利用多态,继承和接口来封装代码,提高Java代码的可扩展性
- 黑马程序员——Java基础---面向对象(封装、继承、多态)
- Java学习系列(四)Java面向对象之修饰符、封装、继承、多态详解
- java语言基础(23)——面向对象三大特性(封装、继承、多态)
- 黑马程序员 JAVA基础<二> 面向对象之封装 继承 多态
- Java基础之理解封装,继承,多态三大特性