Java基础
木易三水良
这个作者很懒,什么都没留下…
展开
-
关于<short s = 1,s = s + 1>的问题
隐式类型转换可以从小到大自动转,即byte->short->int->long如果反过来会丢失精度,必须进行显示类型转换。 s=s+1这句先执行s+1然后把结果赋给s,由于1为int类型,所以s+1的返回值是int,编译器自动进行了隐式类型转换 所以将一个int类型赋给short就会出错, 而 s+=1 不同由于是 += 操作符,在解析时候s+=1就等价于s = (short)(s+1) ...原创 2021-06-03 00:04:26 · 128 阅读 · 0 评论 -
静态代码块与构造函数的运行顺序
加载顺序: 特别注意:静态代码块和静态成员变量之间的具体加载顺序由编写顺序决定,构造代码块与非静态成员变量之间的具体加载顺序同样由编写顺序决定。 父类的静态成员变量 以及父类静态代码块(只会加载一次) 子类的静态成员变量 以及子类的静态代码块 (只会加载一次) 父类的非静态成员变量以及父类构造代码块 (以下是有多少个对象就会加载多少次) 父类无参构造方法 子类的非静态成员变量以及子类构造代码块 子类调用的构造方法 public class Test { public static void ma原创 2021-06-02 17:27:50 · 100 阅读 · 0 评论 -
创建对象的方式
public class Test { public static void main(String[] args) throws IllegalAccessException, InstantiationException, InvocationTargetException, CloneNotSupportedException { /*1、new 调用构造方法*/ Person person = new Person(); System.out.原创 2021-06-02 17:17:32 · 52 阅读 · 0 评论