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 )方法,然后点击进入观看它的具体使用,最后在我们的程序中使用它完成功能!!!
- JAVA学习笔记0005
- Java学习笔记--CSS笔记
- Java学习笔记001
- Java 学习笔记
- java 学习笔记
- Java学习笔记
- java 学习笔记
- java学习笔记
- java学习笔记
- java学习笔记-1
- java虚拟机学习笔记
- java虚拟机学习笔记
- java虚拟机学习笔记
- Java学习笔记1
- Java学习笔记2
- java学习笔记(1)
- java学习笔记#2
- java学习笔记1
- Lesson2 软件测试之测试理论概述(1)
- Sift特征
- GRUB2配置文件"grub.cfg"详解(GRUB2实战手册)
- Activity启动模式详解及其易用场景
- 面向对象编程之成员函数
- JAVA学习笔记0005
- mybatis开发(第二天)
- Android中的线程池
- 使用OkHttp的那些事儿(二)
- 禁忌搜索算法
- struct class
- Linked List Cycle
- PHP迭代模式的Iterator和IteratorAggregate
- 【死磕Java并发】-----Java内存模型之分析volatile