JAVA学习笔记0005

来源:互联网 发布:网址域名能换吗 编辑:程序博客网 时间:2024/06/06 19:26

final关键字和类中方法体方法块执行先后问题

final 修饰类、方法、变量

package com.dayuanit.animal;

public class Dog {
    public  String name;
    public static int age;
    public static final int AGE = 13;

    public static final int MY_PI = 19;

    public Dog() {
         System.out.println(1);
    }
    {
         System.out.println(2);
    }
    static{
         System.out.println(3);
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
}



package com.dayuanit.human;

import com.dayuanit.animal.Dog;
public class Person {

    public static void main(String[] args) {
        
        System.out.println(Dog.MY_PI);
        System.out.println("********************");
        System.out.println(Dog.age);
        System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$");
        Dog dog = new Dog();
        System.out.println(dog.name);
    }
}

代码执行的结果如下:



分析如下:

JVM虚拟机会先在main方法中按照程序由上至下执行,首先选择的是由static final修饰的MY_PI;因为是全局变量可以直接由类名调用;在执行static修饰的age时,会先到类中然后按照静态方法先于静态类的顺序执行;在执行由构造函数调用的name时,会先进入dog类中,然后寻找到方法代码块,构造函数最后是当前变量的顺序执行代码!

以上为代码执行的顺序问题!


阅读API文档:

在阅读API文档的时候,我们首先需要确认我们需要寻找的方法属于什么类型(以String类型为例子),首先我们需要确定我们需要寻找方法的为String类型,然后在API文档中输入搜索,点击进入这个类,确认这个类属于哪个包,String属于java.lang(默认导入),然后确定我们需要的方法是什么方法(入参,返回值类型,功能),例如我们需要将int类型转为String类型,这样子我们就需要寻找入参为int型,return是String类型的一个方法,然后看方法的具体描述是什么功能,最后我们确定为public static String valueOf(int i )方法,然后点击进入观看它的具体使用,最后在我们的程序中使用它完成功能!!!

1 0
原创粉丝点击