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. 线性表之何时使用ArrayList、LinkedList?

    前言 线性表不仅可以存储重复的元素,而且可以指定元素存储的位置并根据下表访问元素. List接口的两个具体实现:数组线性表类ArrayList.链表类LinkedList. ArrayList Arr ...

  2. SpringBoot学习开篇

    "Spring Framework已有十余年的历史了,已成为Java应用程序开发框架的事实标准.在如此悠久的历史背景下,有人可能会认为Spring放慢了脚步,躺在了自己的荣誉簿上,再也做不出 ...

  3. dnsmasq一次成功的配置

    第一次用这个小软件,感觉还不错,因为没有像bind那样配置起来繁琐,并且我们也不需要去配置很多文件,内外网访问互不干涉. 我是在centos6.5下进行配置的: 先说说自己的理解: dnsmasq先去 ...

  4. Banner图二三事

      前  言 JRedu 作为一个准前端学员,banner图可是很重要的呢.本人,小白一只,给大家分享几个刚刚学习的基础banner图事件.~~~ 1. 小广告图滚动播放 1.1HTML代码 首先,创 ...

  5. 团队作业8----第二次项目冲刺(beta阶段)5.22

    Day4-05.22 1.每日会议 会议内容: 1.帮助新成员进一步了解项目. 2.陈鑫龙说明昨日任务的完成情况. 3.组长林乔桦安排今日的任务. 讨论照片: 2.任务分配情况: 每个人的工作分配表: ...

  6. 201521123112《Java程序设计》第4周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点 1.2 使用常规方法总结其他上课内容 关于多态,多态性就是相同的形态,不同的定义.在简单点说的话就是不同类的对象对同一个消息作出的相应 ...

  7. 201521123074 《Java程序设计》第3周学习总结

    1.本周学习总结 用百度脑图画了一张,点开图片全屏就可以看清楚了 脑图链接 2.书面作业 Q1.代码阅读 以下代码可否编译通过?哪里会出错?为什么?尝试改正? 如果创建3个Test1对象,有内存中有几 ...

  8. 201521123017 《Java程序设计》第13周学习总结

    1. 本周学习总结 2. 书面作业 Q1.网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 1.2 te ...

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

    1. 本周学习总结 2.2. 书面作业 1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? 只要try执行了之后,finall ...

  10. 201521123018 《Java程序设计》第13周学习总结

    1. 本章学习总结 2. 书面作业 一.1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 返回时间 ...