为了账号安全,请及时绑定邮箱和手机立即绑定

Java基础系列之一

标签:
Java

Java基础系列之一

  Java的四个基本特性

Java的四个基本特性是抽象、封装、继承、多态。

  Object类及其方法实现

Object的方法有:

构造方法:

   Object( )

用来获取类的本身的信息的:  

   public final Class<?> getClass()

   protected Object clone( ) throws CloneNotSupportedException

和比较相关的:

   public boolean equals ( Object obj)

   public int hashCode( )

  和线程相关的:  

复制代码

   public final void wait( )  throws InterruptedException

  public final void wait(long timeout )  throws InterruptedException

  public final void wait(long timeout , int nanos)  throws InterruptedException

  public final void notify( )

  public final void notifyAll()

  protected void finalize( ) throws Throwable

复制代码

下面简略写写每一个类的作用,只做简述,不去深究。

—> Object( )

构造方法,用来构造一个新的Object对象。

 

—>protected Object clone( ) throws CloneNotSupportedException

克隆方法,调用这个方法,可以返回一个当前对象的克隆对象,但是这个对象的类必须实现Cloneable接口,通过复写clone()方法,实现对克隆的自定义。

 

—>public boolean equals ( Object obj)

指示一些其他对象是否等于此。用来比较两者是否一致,并非比较地址是否一致,使用 == 的比较,在对于对象来说,用来比较地址是不是一样。

 

—>public int hashCode( )

返回这个对象的hash码。

 

—>protected void finalize( ) throws Throwable

当垃圾收集确定不再有对该对象的引用时,垃圾收集器在覆盖了这个方法的类的对象上调用该对象。如果一个类没有对这个方法复写,那么不会调用这个方法,而直接执行垃圾回收。

 

—>public final Class<?> getClass()

返回这个类的类型的对象,也就是说,每一个类都可以通过这个方法,生成一个Class的对象,这个对象的属性来自于调用这个方法的对象。

 

 —>public final void wait( )  throws InterruptedException

 —>public final void wait(long timeout )  throws InterruptedException

 —>public final void wait(long timeout , int nanos)  throws InterruptedException

某个对象调用这个方法,使当前线程等待,直到其他线程调用了该对象的该对象的notify()方法或notifyAll()方法,并且在线程间的竞争中获胜,才能恢复执行。

关于参数

timeout是时间参数,经过了指定的时间,即使没有被通知,这个线程也会自动继续执行。

在第三个方法中,指定时间是timeout (微秒) + nanos (纳秒);

 

—>public final void notify( )

—>public final void notifyAll( )

这是通过某一个对象来唤醒激活的线程的方法。

这两个激活线程的方法的区别在于,notifyAll向全体在该对象上等待的线程发出信号,然后竞争得出可执行的线程。notify则是随机选择一个线程,使其从阻塞状态变到运行状态。

 

基本数据类型与引用数据类型

八个基本数据类型

  char   字符型

  byte   字节型

  short   小整数

  int     整数

  long   大整数

  float    浮点型

  double   双精度

  boolean   布尔型

 

它们的装箱变量:

  Character   字符型

  Byte     字节型

  Short     小整数

  Integer     整数

  Long     大整数

  Float      浮点型

  Double    双精度

  Boolean     布尔型

 

除了Boolean 和 Character 以外的所有对象都来继承Number这个父类。

1public abstract class Number extends Object implements Serializable

这个类实现了Serializable这个接口,这个接口的作用是,可序列。也就是说,实现了这个接口,就有了主观或者是客观上的大小,也就是说,可以排序了。

这个接口内有三个方法,都需要被实现。

 需要注意的点

  byte类型的范围是 -128 ~ 127,对byte的127进行i++操作,则会变成-128。

  如果不指明类型,默认的整数类型是int型,小数是double型。

  暂时只能想到这些。

 

finally vs final vs finalize

finally:是用在try-catch-finally的结构中的。

final:是一个修饰符。<这个很重要>

  既可以用来修饰变量:被final修饰的变量为常量,不可再被更改。

  也可以用来修饰方法:被final修饰的方法,在子类中不再可以被复写。

  还可以用来修饰类:被final修饰的类,不再可以被继承。

finalize:是一个Object类中的方法,方法签名是:

1protected void finalize( ) throws Throwable

简单的说一下这个的作用

  当垃圾收集确定不再有对该对象的引用时,垃圾收集器在覆盖了这个方法的类的对象上调用该对方法。如果一个类没有对这个方法复写,那么不会调用这个方法,而直接执行垃圾回收。

原文出处:https://www.cnblogs.com/zjxu97/p/10049481.html  

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消