刷题第一天-java

java知识匮乏严重

1.java重载的定义:同命不同参,与返回值和修饰符不相关,不能通过他们来判定,只能由同名不同参来判断

   隐藏的定义:隐藏出现在父类子类和接口实现之间,指的是私有方法和静态方法,在子类或者是实现中出现都是隐藏,而不是重写;

   重写的定义:重写要求重写后的方法的修饰符要大于被重写的方法;而且方法名参数要相同;返回值可以不相同,但是范围要包含在被重写方法的返回值范围里面;

2.整型常量的定义: final int i=234;由于是常量所以应该使用final进行修饰;

   final:被final修饰的属性,如果修饰的是引用,引用不可以改变;但是值是可以改变的,但是如果修饰的是基本数据类型一旦初始化之后就会发生变化;修饰的方法,可以被子类继承,但是不可以被子类修改,也就是说不能被重写;修饰类的话,该类不能够被继承;

3.this对象和this函数是不一样的;this()和super()是两个函数才是必须要构造函数的第一行调用而且只能调用一次;this知识一个对象

4.== 和 equals函数,字符串的比较;==比较的是引用地址是否相同;而equals是比较的这个地址的值是否相同,地址不一定需要相同;

5.垃圾回收:1.该线程在jvm中优先级特别低;2.垃圾收集器程序开发者可以推荐jvm进行回收,但是何时回收,回收哪些,程序员不能决定;3.并不能解决内存溢出;4.进入dead的线程,还可以回复,不会被回收;

6.字节流和字符流;writer和reader结尾的是字符流;stream结尾的是字节流;

字节流:

InputStream 
|-- FileInputStream (基本文件流) 
|-- BufferedInputStream 
|-- DataInputStream

|-- ObjectInputStream

字符流

Reader 
|-- InputStreamReader (byte->char 桥梁) 
|-- BufferedReader (常用) 
Writer 
|-- OutputStreamWriter (char->byte 桥梁) 
|-- BufferedWriter 
|-- PrintWriter (常用)

7.静态初始化块:没法直接调用,

初始化顺序:父类静态成员初始化>父类的静态代码块>子类静态成员初始化>子类的静态代码块>父类的代码块>父类的构造方法>子类的代码块>子类的构造方法

注意点:1.静态成员和静态代码块只有在类加载的时候执行一次,再次创建实例时,不再执行。

public class Test{
    public static void main(String[] args) {
        S c = new S()
    }
}

class F{
    static int c;
    static int b;
    {
        System.out.println("F方法块")
    }
    static{
        System.out.println("F静态方法块")
    }

    public F(){
        System.out.println("F构造方法")
    }
}

class S extends F{
    static int a;
    static int b;
    {
        System.out.println("S方法块")
    }
    static{
        System.out.println("S静态方法块")
    }

    public F(){
        System.out.println("S构造方法")
    }
}

 

posted @ 2018-08-22 22:10  Echonana  阅读(320)  评论(0编辑  收藏  举报