java中的显示初始化和特定初始化】的更多相关文章

public class Test{ public static void main(String[] args){ Child child = new Child(); } } class Parent{ public Parent(){ super(); show();//this.show(); 因为是Child类对象调用了super()来构造其父类的部分;所以父类中的this(随着其构造方法入栈的)是指向Child类对象的!所以调用的就是Child类对象的show方法! return ;…
Java 中可以通过初始化块进行数据赋值.如: 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块.如果使用 static 修饰初始化块,就称为静态初始化块. 需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量. 而普通初始化块只要有创建一个实例(即new一次),就执行一次. 我们来看一段代码: 运行结果: 通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行…
     class Para<CLS>{          private CLS class1;          public Para(CLS class1) {              // TODO Auto-generated constructor stub              this.class1 = class1;                          //class1 = new CLS(),这会导致编译错误          }      } 第六…
 目录(?)[+] 问题1静态变量如何初始化 问题2JDK如何处理static块 问题3如何看待静态变量的声明 对初始问题的解答 在网上看到了下面的一段代码: public class Test { static { _i = 20; } public static int _i = 10; public static void main(String[] args) { System.out.println(_i); } } public class Test { static { _i…
最近重读Java 编程思想,读到有关实例化代码块儿 的内容,使我对于使用两个大括号进行初始化有了更深的理解. 实例化代码块儿: 和静态代码块儿的概念相对应,静态代码块儿是static 关键字 + 大括号,把静态代码块儿的static关键字去掉就是实例化代码块儿,静态代码块儿在类初始化的时候执行一次 而实例化代码块儿在每次生成对象的时候都会执行(实例化代码块儿会先于构造方法执行). 使用匿名内部类进行初始化:在new 一个对象的时候,小括号后边跟一个大括号 使用匿名内部类 + 实例化代码块儿 =…
在Java1.5中引入了两种显示锁,分别是可重入锁ReentrantLock和可重入读写锁ReentrantReadWriteLock.它们分别实现接口Lock和ReadWriteLock.(注意:synchronized也是可重入锁) public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); boolean tryLock(long…
//Java小数点后留两位 double num1 =11; double num2 =21; String num3 =""; //函数可以确定十进制数的显示格式:百分数,限定小数点,科学计数法等 //#:整数位 0:小数位 DecimalFormat df = new DecimalFormat("0"); //显示整数 num3 = df.format((num1 - num2)/num2*100); System.out.println(num3); Dec…
目录 1. 前言 2. List 2.1 fail-safe fail-fast知多少 2.1.1 Fail-fast Iterator 2.1.2 Fail-fast 的原理 2.1.3 Fail-safe Iterator 2.2 Iterator to list的三种方法 2.2.1 使用while 2.2.2 使用ForEachRemaining 2.2.3 使用stream 2.3 asList和ArrayList不得不说的故事 2.3.1 创建ArrayList 2.3.2 Unsu…
public class Test{ public static void main(String[] args){ Person p = new Person(); } } /* 4.修饰的变量是一个常量(所有字符都大些 XXX 或者 XXX_XXX),只能赋值一次! final 固化的都是显示初始化的值(定义并初始化)(或者构造函数中的特定初始化的值, 但二者不能同时出现), 而不是默认的初始化值! 为什么要用final修饰变量.其实在程序中如果一个数据是固定的,那么直接使用这个数据就可以了…
public class TestString { /* * java中的数据类型,可分为两类: * 1.基本数据类型,也称为原始数据类型.byte,short,char,int,long,float,double,boolean * 他们之间的比较,应用双等号(==),比较的是他们的值. * 2.复合数据类型(类) * 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象, * 他们的比较后的结果为true,否则比较后果为false. * * ja…