java常用的api类_Java API 常用类(一)

Java API 常用类

super类详解

"super"关键字代表父类对象。通过使用super关键字,可以访问父类的属性或方法,也可以在子类构造方法中调用父类的构造方法,以便初始化父类继承的属性。

通过下面的例子来详细说明 super 的用法

/**

* Person 父类

*/

packagecn.yjlblog.www;

publicclassPerson{

inta;

intb;

publicPerson(inta,intb){

this.a=a;

this.b=b;

}

publicvoidfun(){

System.out.println("Pentakill!");

}

}

/**

* Student 子类

*/

packagecn.yjlblog.www;

publicclassStudentextendsPerson{

intc;

intd;

//构造方法

//在这个构造方法中,因为子类调用父类的所有的构造方法,在子类student中又因为新生成

//了c 、d 两个新的属性,所以构造的方法中一共有a,b,c,d四个参数。

publicStudent(inta,intb,intc,intd){

super(a,b);//用super来调用父类的的指定的构造方法,注意这个地方调用的是方法,不是属性。

this.c=c;

this.d=d;

}

publicvoidfun()//方法的重新,和子类中的方法是一样的

{

System.out.println("double kill!");

}

publicvoidfun1(){//这是在子类中新定义的方法,父类中是没有的

fun();//调用的fun()方法是自己的fun 方法(重写的fun()方法)

super.fun();//但是想要用父类的fun方法,就用super 来调用

}

}

/**

* 小结:

* 1.super 有两个用法,一个是可以调用父类指定的 构造方法;另外的一个是调用父类的 方法,其实在這里需要

* 注意的是,方法和构造方法的区别

* 2。super 的用法可以和this的用法比对来看

*/

packagecn.yjlblog.www;

publicclassTest{

inta;//成员变量

intb;

//构造方法(带参数)

publicTest(inta,intb){//局部变量

this.a=a;

this.b=b;

}

// 构造方法的重载(不带参数)

publicTest(){

this(10,20);

}//在这个方法中,不带参数的构造方法 使用 this 关键字调用了 带参数的构造方法

}

final 详解

用来修饰类、方法和变量,其含义是“不可改变的、最终的”。

修饰类:声明为final的类不能被继承,一个final类中的所有方法都隐式地指定为final。

修饰变量:声明为final的变量是一个常量,在定义时必须给予初始值,变量一旦初始化,将不能改变。

修饰方法: 声明为final的方法不能被子类重写

小结final 是定义常量的,常量是不能更改的,也就是说在这里我们把final的含义广义化,无论是类还是方法只要加了final修饰的就不能再进行改变。

对于一个变量而言final定义的是常量,例如

finalintc=10;//定义好了常量就不能更改

//在上述的代码中 this.c = c 就会出错

对于一个方法来说:

publicfinalvoidfun(){

System.out.println("Pentakill!");

}

//在父类 Person 中的fun()方法中,如果给加上final ,子类的重写就胡出错,也就是说,父类的方法加上

//final 后,就不能被重写。

对于一个类来说:

publicfianlclassPerson{

inta;

intb;

publicPerson(inta,intb){

this.a=a;

this.b=b;

}

publicvoidfun(){

System.out.println("Pentakill!");

}

}

//当final来修饰类的时候,则说明此类不能再被继承,也就是说此类便是最后的一代,不能再生儿子了enmmmmm....

//此时,在这个例子中,子类 Person 就会报错。

Object类详解

Object类是所有类的顶级父类,在Java体系中,所有类的都是直接或间接的继承了Object类。Object类包含了所有Java类中的公告属性和方法,这些属性和方法在任何类中均可以直接使用。

```

package cn.yjlblog.www;

public class Test2 {

public static void main(String[] args) {

Object ob1 = new Object();

Object ob2 = new Object();

System.out.println(ob1.equals(ob2));//输出false

//因为两个空间的首地址不一样,所以不相等

//ob2 = ob1; 如果加上这个话就是true,指向了同一个地址

}

}

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值