欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA学习笔记(2)

程序员文章站 2024-02-16 09:44:22
...

18.接口
JAVA学习笔记(2)
JAVA学习笔记(2)
JAVA学习笔记(2)

package cn.cast.demo8;

//接口
public interface Smoking {
    //成员方法
    //接口中的成员方法都有默认的修饰符public abstract
    public abstract void smoke();
}
package cn.cast.demo8;
//接口Smoking的实现类(子类
public class Teacher implements Smoking{
    @Override
    public void smoke() {
        System.out.println("吸烟有害身体健康");
    }
}

package cn.cast.demo8;

public class Test {
    public static void main(String[] args) {
        //Smoking s=new Smoking();
        //这样写会报错,因为接口是比抽象类更抽象的存在,不能实例化
        //若想实例化可通过创建其子类对象完成
        //多态
        Smoking s=new Teacher();
        s.smoke();
    }
}

JAVA学习笔记(2)
JAVA学习笔记(2)
JAVA学习笔记(2)
java中的类最多只能继承一个类,可以实现多个接口;
JAVA学习笔记(2)
JAVA学习笔记(2)
所有变量都有修饰符 public static final 你没写系统会默认添加;
JAVA学习笔记(2)
JAVA学习笔记(2)
JAVA学习笔记(2)
JAVA学习笔记(2)

package cn.cast.demo8;

public interface USB {
    //成员常量
    int NUM=10;
    //成员方法
    //jdk7及以前的方法;
    public abstract void open();
    void close();
    //jdk8多了两种写法,即方法有了方法体
    public static void method1(){
        System.out.println("我是jdk8的新特性");
    }
    public default void method2(){
        System.out.println("我是jdk8的新特性");
    }
    //jdk9多了一种写法
    private  void method3(){
        System.out.println("我是jdk8的新特性");
    }
    //接口中没有构造方法
    //public USB(){}
}

package cn.cast.demo8;

public class Test {
    public static void main(String[] args) {
        //USB.num=20;会报错,常量不能被修改
        System.out.println(USB.NUM);
    }
}

19.java的常用工具_API
JAVA学习笔记(2)
JAVA学习笔记(2)
JAVA学习笔记(2)
如果有些类没有构造方法,说明类里面的成员大多都是静态的,可以通过类名.方式直接调用;
JAVA学习笔记(2)
JAVA学习笔记(2)
API文档——类的使用说明书
JAVA学习笔记(2)
JAVA学习笔记(2)
API文档
Object类:
JAVA学习笔记(2)
JAVA学习笔记(2)
java.lang下的类可以直接使用不需要导包

package cn.cast.demo;

public class Test {
    public static void main(String[] args) {
        //非静态的方法的调用方式:通过 对象名.的形式调用
        //1.创建object类型对象
        Object obj1 = new Object();
        Object obj2 = new Object();
        //2.测试object类中的成员方法
        int code1 = obj1.hashCode();
        int code2 = obj2.hashCode();
        System.out.print(code1+" "+code2);
        System.out.println();
        //int hashCode();返回对象的哈希码值,不同对象的哈希码值一般不同
        //284720968 189568618

        //Class<?> getClass():返回该调用者的字节码文件,一个类只有一个字节码文件对象(一个类可以创建多个对象)
        Class claz1=obj1.getClass();
        Class claz2=obj2.getClass();
        System.out.println(claz1);//class java.lang.Object
        System.out.println(claz2);//class java.lang.Object
        System.out.println();
        //String toString():返回该对象的字符串表示形式,默认打印的地址值,但不同对象的地址值肯定不同
        //地址值组成:全类名(包名加类名java.lang.Object)aaa@qq.com+该对象的哈希码的无符号十六进制
        //哈希码:根据地址值计算出来的一个结果
        String s1=obj1.toString();
        String s2=obj2.toString();
        System.out.println(s1);//aaa@qq.com
        System.out.println(s2);//aaa@qq.com
        System.out.println();
        //boolean equals():比较两个对象是否相等,默认比较地址值,无意义(因为不同对象的地址值肯定不同),子类一般都会重写这个方法
        boolean b1=obj1.equals(obj2);
        System.out.println("b1 = " + b1);
        //b1 = false



    }
}

相关标签: 知识点总结