Java API 常用类

super类详解

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

/**
 * Person 父类
 */
package cn.yjlblog.www;

public class Person {
    int a;
    int b;
    public Person(int a,int b){
        this.a = a;
        this.b = b;
    }
    public void fun(){
        System.out.println("Pentakill!");
    }

}

/**
 * Student 子类
 */
package cn.yjlblog.www;

public class Student extends Person {
    int c;
    int d;
    //构造方法
    //在这个构造方法中,因为子类调用父类的所有的构造方法,在子类student中又因为新生成
    //了c 、d 两个新的属性,所以构造的方法中一共有a,b,c,d四个参数。
    public Student(int a, int b, int c, int d) {
        super(a, b);//用super来调用父类的的指定的构造方法,注意这个地方调用的是方法,不是属性。
        this.c = c;
        this.d = d;

    }
    public void fun()//方法的重新,和子类中的方法是一样的
    {
        System.out.println("double kill!");
    }
    public void fun1(){//这是在子类中新定义的方法,父类中是没有的
        fun();//调用的fun()方法是自己的fun 方法(重写的fun()方法)
        super.fun();//但是想要用父类的fun方法,就用super 来调用

    }

}
/**
 * 小结:
 * 1.super 有两个用法,一个是可以调用父类指定的  构造方法;另外的一个是调用父类的 方法,其实在這里需要
 *   注意的是,方法和构造方法的区别
 * 2。super 的用法可以和this的用法比对来看
 */

 package cn.yjlblog.www;

 public class Test {
    int a;//成员变量
    int b;
    //构造方法(带参数)
    public Test(int a,int b){//局部变量
        this.a = a;
        this.b = b;

    }
    // 构造方法的重载(不带参数)
    public Test(){
        this(10,20);
    }//在这个方法中,不带参数的构造方法 使用 this 关键字调用了 带参数的构造方法
 }

final 详解

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

  • 修饰类:声明为final的类不能被继承,一个final类中的所有方法都隐式地指定为final。
  • 修饰变量:声明为final的变量是一个常量,在定义时必须给予初始值,变量一旦初始化,将不能改变。
  • 修饰方法: 声明为final的方法不能被子类重写
    小结 final 是定义常量的,常量是不能更改的,也就是说在这里我们把final的含义广义化,无论是类还是方法只要加了final修饰的就不能再进行改变。

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

final int c = 10;//定义好了常量就不能更改
//在上述的代码中 this.c = c 就会出错

对于一个方法来说:


public final void fun(){
        System.out.println("Pentakill!");
    }
//在父类 Person 中的fun()方法中,如果给加上final ,子类的重写就胡出错,也就是说,父类的方法加上
//final 后,就不能被重写。

对于一个类来说:


public fianl class Person {
    int a;
    int b;
    public Person(int a,int b){
        this.a = a;
        this.b = b;
    }
    public void fun(){
        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,指向了同一个地址

}

}
```

Java API 常用类(一)的更多相关文章

  1. Elasticsearch java api 常用查询方法QueryBuilder构造举例

    转载:http://m.blog.csdn.net/u012546526/article/details/74184769 Elasticsearch java api 常用查询方法QueryBuil ...

  2. Java第五天,API常用类,静态(static)、集合(ArrayList)、日期(Date)、日历(Calendar)的使用方法

    上文中我们学习到了Random随机数类和ArrayList<E>集合.这两个知识点都是经常用到的,那么除了这两个外,还有哪些知识点是我们所必须掌握的呢? static 使用static需要 ...

  3. Java基础常用类深度解析(包含常见排序算法)

    目录 一.工具类 1.1.工具类的设计 1.1.1.公共静态方法 1.2.单例模式 二.包装类 2.1.基本类型的包装类 2.1.1.Integer 2.1.1.1.Integer >> ...

  4. es2.4.6 java api 工具类

    网上找了很久没找到2.4.X 想要的java api 工具 自己写了一个,分享一下 导入所需的jar <!-- ElasticSearch begin --> <dependency ...

  5. Java中常用类(包装类扩展知识)

    Java常用类有哪些? 八大基本数据类型的包装类 包装类均位于java.lang包中,包装类和基本数据类型的对应关系如下表: 基本数据类型 包装类 byte Byte boolean Boolean ...

  6. Java之常用类及方法

    下面我们介绍Java类库所提供的常用类及类的常用方法 一.java.lang.String 1. String类常用的构造函数 public String(String original) 使用串对象 ...

  7. [趣学程序]java的常用类之String

    java基础之常用类 String类 String表示字符串,所谓字符串,就是一连串的字符,是java中最常用的类之一. String是不可变类,一旦String对象被创建,包含在对象中的字符序列(内 ...

  8. java:常用类(包装类,equals和==的比较,Date,java.lang.String中常用方法,枚举enum)

    *包装类: 将基本类型封装成类,其中包含属性和方法以方便对象操作. *byte---->Byte *short--->Short *long--->Long *float---> ...

  9. Java的常用类——Object类、String类

    Java的JDK中提供给我们很多封装好的类就是Java API,可以直接调用. Java 的API(API: Application(应用) Programming(程序) Interface(接口) ...

随机推荐

  1. vue学习日志(一):vue的优势

    vue的中文官方文档里面有对比其他框架的具体介绍,这里只是做一个概括总结: 1,在 Vue 应用中,组件的依赖是在渲染过程中自动追踪的,所以系统能精确知晓哪个组件确实需要被重渲染.你可以理解为每一个组 ...

  2. MSH:一个简单SH工具实现

    本文将分为不同的Part,分别实现Shell的一部分功能. msh从CSAPP的SHLAB出发,逐渐完善SHELL功能,并移植到自己的OS上. Github: https://github.com/H ...

  3. 自制IPsec_vpn综合实验

    实验需求 R1.R2间tunnel建立私网: Vpn网关间配置ipsec实现数据加密: 使用tunnel模式下的ESP包头封装: 使用3des加密算法,md5摘要算法: 设置NAT旁路绕行流量: 利用 ...

  4. Alpha阶段-个人总结

    一.五个问题 1.第三章中提到了"质量"和"按时交付"的问题,我想问,世事难料,当两者不能兼得的时候,我是保证质量却无法按时交付,还是水两下保证按时交付呢? 2 ...

  5. 团队作业4——第一次项目冲刺(Alpha版本)2nd day

    一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 界面 1.四个用户登录界面已经完成. 2.界面内的功能完成了一小部分. 登陆部分 1.QQ授权已经申请,还未通过. 2.通过好 ...

  6. 201521123097《Java程序设计》第八周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 1.本次作业题集集合 public static List return str; } pub ...

  7. Python IDLE快捷键一览

    编辑状态时:Ctrl + [ .Ctrl + ] 缩进代码Alt+3 Alt+4 注释.取消注释代码行Alt+5 Alt+6 切换缩进方式 空格<=>TabAlt+/ 单词完成,只要文中出 ...

  8. 201521123013 《Java程序设计》第10周学习总结

    1. 本章学习总结 2. 书面作业 Q1.finally题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? finally块中的异常必须在fina ...

  9. 201521123054 《Java程序设计》第9周学习总结

    1. 本周学习总结 2. 书面作业 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 经常会出现ArrayIndexO ...

  10. JS中的DOM对象及JS对document对像的操作

    DOM对象 windows:属性:opener(打开者) 方法:open().close(),setTimeout().setInterval()... location:属性:href 方法:rel ...