public class Question_1 {
public static void main(String[] args) {
int i = 1;
i = i++;
int j = i++;
int k = i + ++i * i++;
System.out.println("i=" +i); // 4
System.out.println("j=" +j); // 1
System.out.println("k=" +k); // 11
}
}
内存图:
public static void main(String args[]) {
int a =100,b=50,c=a-- -b,d=a-- -b;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
内存图:
// private 方法修饰符修饰重写方法
(5)(1) (10)(6)(4)(3)(2)(9)(8)(7)
(4)(3)(2) (9)(8)(7)
// public 方法修饰符修饰重写方法
(5)(1) (10)(6)(9)(3)(2)(9)(8)(7)
(9)(3)(2) (9)(8)(7)
1、一个类要创建实例需要先加载并初始化该类
2、一个子类要初始化需要先初始化父类
3、一个类初始化就是执行<clinit>()
方法
<clinit>()
方法由静态类变量显示赋值代码和静态代码块组成<clinit>()
方法只执行一次1、实例初始化就是执行<init>()
方法
<init>()
方法可能重载有多个,有几个构造器就有几个<init>
方法<init>()
方法由非静态实例变量显示赋值代码和非静态代码块、对应构造器代码组成<init>()
方法<init>()
方法的首行是super()或super(实参列表),即对应父类的<init>()
方法1、 哪些方法不可以被重写
2、 对象的多态性
内存图:
方法的参数传递机制:
1、 形参是基本数据类型: 传递数据值
2、 实参是引用数据类型: 传递地址值;特殊的类型:String、包装类等对象不可变性
内存图:
局部变量与成员变量的区别
1、声明的位置
局部变量:方法体{}
中,形参,代码块{}
中
成员变量:类中方法外
类变量:有static修饰
实例变量:没有static修饰
2、修饰符
3、值存储的位置
4、作用域
}
结束this.
(有时this.
可以缺省),在其他类中对象名.
访问类名.
(有时类名.
可以省略),在其他类中类名.
或对象名.
访问5、生命周期
执行结果:
finally
finished
try{}
中的代码出现异常会执行catch{}
中的代码,finally{}
块中的代码无论错误都会执行
带return的try{}catch{}finally{}
先执行try块中代码,如果有异常执行catch块中的代码,最后执行finally块中的代码。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_45297578/article/details/120033238
内容来源于网络,如有侵权,请联系作者删除!