java基础复习二(java核心技术卷1)

2019-03-11  本文已影响0人  燕大虾呀

1、instanceof 关键字

意思:检测一个对象是否是一个类的实例,是则返回true
用法:if(a instanceof Person) System.ou.println("a是Person类的实例");

2、equals()

equals对对象而言是比较两个对象的地址,如果你想设计成两个对象属性相同就是同一个对象的话,你可以选择重写equals方法。

equals对String而言,比较的是内容 ,下面是String类equals()方法的源码,很明显,是 先比长度,再比内容。若都满足,则两个字符串相同。

图片.png

3、关于可变参数

如下:其实就是一个对象数组,如果你用Object... objects 来定义,那么就可以任意参数,任意数量了。

//定义
    public Student[] getStudents() {
        return this.students;
    }
    public void setStudents(Student... students) {
        this.students = students;
    }
//使用
        Teacher t = new Teacher();
        t.setName("martin");
        Student s1 = new Student();
        s1.name = "student 1";
        Student s2 = new Student();
        s2.name = "student 2";
        Student s3 = new Student();
        s3.name = "student 3";
        
        t.setStudents(s1,s2,s3);
        
        Student[] students = t.getStudents();
        for(Student s:students) {
            System.out.println(s);
        }

4、完整的枚举类的定义

public enum Size {
    //单例构造枚举值
    SMALL("S"),MEDIUM("M"),LARGE("L"),EXTRA_LARGE("XL");
    
    private String abbrevition;
    //私有化构造器
    private Size(String abbrevition) {
        this.abbrevition = abbrevition;
    }
    public String getAbbrevition() {
        return abbrevition;
    }
    
}

5、反射 -------此处引用一篇优秀的文章
https://www.jianshu.com/p/10c29883eac1

获取类的方法有以下三种:

Class c1 = Test.class; //这说明任何一个类都有一个隐含的静态成员变量class,这种方式是通过获取类的静态成员变量class得到的()
Class c2 = test.getClass();// test是Test类的一个对象,这种方式是通过一个类的对象的getClass()方法获得的 (对于基本类型无法使用这种方法)
Class c3 = Class.forName("com.catchu.me.reflect.Test"); //这种方法是Class类调用forName方法,通过一个类的全量限定名获得(基本类型无法使用此方法)

所有内容均个人编辑,如有错误,欢迎指正!

上一篇 下一篇

猜你喜欢

热点阅读