1、静态方法中可以直接调用同类的静态成员,但不能直接调用非静态成员。如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象访问非静态变量。
2、在普通成员方法中可以直接访问同类的费静态变量和静态变量
3、静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
2、在普通成员方法中可以直接访问同类的费静态变量和静态变量
3、静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
2017-10-19
其实讲的有点乱,重点就是一个对象的创建首先是初始化,然后看有没有构造方法,有的话就执行构造方法。如果这个对象所属的类有父类则先执行父类再执行子类。
2017-10-19
上一条写错啦,更正一下
静态初始化块(static) >public static void main(String[] args)> 普通初始化块 > 构造方法
静态初始化块(static) >public static void main(String[] args)> 普通初始化块 > 构造方法
2017-10-18
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块。即
静态初始化块(static)> 普通初始化块 > 构造方法 >public static void main(String[] args)
静态初始化块(static)> 普通初始化块 > 构造方法 >public static void main(String[] args)
2017-10-18
测试时发现初始化块有自己本身的作用域,里面的变量为局部变量;还有静态初始化块中不能(也不需要)再写static修饰符
2017-10-18
MInner ss=new MInner();
// 调用内部类的方法;
System.out.println("姓名:" + name + "\n加分后的成绩:" +ss.getScore() );
这里可以这样写 不需要int了 你直接调用就可以 完美 myeclipse写出来更好
// 调用内部类的方法;
System.out.println("姓名:" + name + "\n加分后的成绩:" +ss.getScore() );
这里可以这样写 不需要int了 你直接调用就可以 完美 myeclipse写出来更好
2017-10-18