java继承怎么操作

建站技术 Nix 2年前 (2022-11-16) 210次浏览

文章摘要:java继承怎么操作

Java中使用继承时需要注意:Java中只有单继承,没有像C++那样的多继承;多继承会引起混乱,使得继承链过于 […]

Java中使用继承时需要注意:Java中只有单继承,没有像C++那样的多继承;多继承会引起混乱,使得继承链过于复杂,系统难于维护。以下是关于使用Java继承注意事项的具体介绍。

Java中使用继承时需要注意什么

1、父类也称作超类、基类。子类:派生类等。

2、Java中只有单继承,没有像 C++那样的多继承。多继承会引起混乱,使得继承链 过于复杂,系统难于维护。

3、Java中类没有多继承,接口有多继承。

4、子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。

5、如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。

Java线程的几种状态是什么

Java中的线程的生命周期大体可分为5种状态:

1、初始状态(NEW):新创建了一个线程对象。

2、可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu的使用权。

3、运行(RUNNING):可运行状态(runnable)的线程获得了cpu 时间片(timeslice),执行程序代码。

4、阻塞(BLOCKED):阻塞状态是指线程因为某种原因放弃了cpu 使用权,也即让出了cputimeslice,暂时停止运行。直到线程进入可运行(runnable)状态,才有机会再次获得cpu timeslice转到运行(running)状态。阻塞的情况分三种:

(1)等待阻塞:运行(running)的线程执行o.wait()方法,JVM会把该线程放入等待队列(waitting queue)中。

(2)同步阻塞:运行(running)的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则JVM会把该线程放入锁池(lock pool)中。

(3)、其他阻塞:运行(running)的线程执行Thread.sleep(longms)或t.join()方法,或者发出了I/O请求时,JVM会把该线程置为阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入可运行(runnable)状态。

5、死亡(DEAD):线程run()、main() 方法执行结束,或者因异常退出了run()方法,则该线程结束生命周期。死亡的线程不可再次复生。

Java引用类型包括哪些

Java类型一般有两种,即基本数据类型与引用数据类型。其中,引用数据类型在存储堆中对需要引用的对象进行引用,引用是Java面向对象的一个特点。

引用类型包括有:强引用(StrongReference);软引用(SoftRefernce);弱引用(WeakReference);虚引用(PhantomReference)。

1、强引用-StrongReference:这种引用是平时开发中最常用的,例如Stringstrong=newString("StrongReference"),当一个实例对象具有强引用时,垃圾回收器不会回收该对象。

当内存不足时,宁愿抛出OutOfMemeryError异常也不会通过回收强引用的对象,因为JVM认为强引用的对象是用户正在使用的对象,它无法分辨出到底该回收哪个,强行回收有可能导致系统严重错误。

2、软引用-SoftReference:如果一个对象只有软引用,那么只有当内存不足时,JVM才会去回收该对象,其他情况不会回收。

软引用可以结合ReferenceQueue来使用,当由于系统内存不足,导致软引用的对象被回收了,JVM会把这个软引用加入到与之相关联的ReferenceQueue中。

3、弱引用-WeakReference。只有弱引用的对象,当JVM触发gc时,就会回收该对象。

与软引用不同的是,不管是否内存不足,弱引用都会被回收。弱引用可以结合ReferenceQueue来使用,当由于系统触发gc,导致软引用的对象被回收了,JVM会把这个弱引用加入到与之相关联的ReferenceQueue中。

不过由于垃圾收集器线程的优先级很低,所以弱引用不一定会被很快回收。

4、虚引用-PhantomReference。如果一个对象只有虚引用在引用它,垃圾回收器是可以在任意时候对其进行回收的,虚引用主要用来跟踪对象被垃圾回收器回收的活动,当被回收时,JVM会把这个弱引用加入到与之相关联的ReferenceQueue中。


声明:
若非注明,本站文章源于互联网收集整理和网友分享发布,如有侵权,请联系站长处理。
文章名称:java继承怎么操作
文章链接:http://www.7966.org/post/21491.html
转载请注明出处

喜欢 (0)