当前位置: 代码迷 >> J2SE >> this.method()步骤为什么要写在方法里面呢
  详细解决方案

this.method()步骤为什么要写在方法里面呢

热度:240   发布时间:2016-04-24 13:26:59.0
this.method()方法为什么要写在方法里面呢
super.method(),this.method(),System.out.println()为什么要写在方法里,写在类里却报错呢

class A{
  this.xx(); //为什么
  super.xx(); //写在类里
  System.out.println("xx"); //会报错呢?
  void method(){
  this.xx(); //为什么
  super.xx(); //写在方法里
  System.out.println("xx"); //就没有错误了呢?

  }
}

平时只是死记这种写法,但不知道要怎么样写?


------解决方案--------------------
方法调用写在类里,那么这些语句什么时候会被执行呢?永远都不会被执行,当然是不允许的!
而如果写在方法里面,我们就可以调用方法来执行方法里面的方法!
不过可以把方法调用写在类里面,再另上一对{},就象这样:

------解决方案--------------------
类下面不能直接包含语句,除了把语句写在方法中以外,还可以通过两种形式:静态初始化块(Static Initialization Block)和实例初始化块(Instant Initialization Block)。

静态初始化块在类装载完毕时执行,这意味着它在所有实例被创建之前执行,并且只执行一次。如:

Java code
public class Foo {  static {    System.out.println("Foo class is loaded");  }}
------解决方案--------------------
又学到点知识.. 以前只知道静态初始化块,不知道实例初始化块
------解决方案--------------------
to: johnsoncr
在代码的首尾另上:
[code=Java][/code]
------解决方案--------------------
呵呵
又学到了一点知识了。
------解决方案--------------------
Java code
public class OneCards {    private static String CardNumber[];{    CardNumber=new String[15];    CardNumber[0]=new String("2");    CardNumber[1]=new String("3");    CardNumber[2]=new String("4");    CardNumber[3]=new String("5");    CardNumber[4]=new String("6");    CardNumber[5]=new String("7");    CardNumber[6]=new String("8");    CardNumber[7]=new String("9");    CardNumber[8]=new String("10");    CardNumber[9]=new String("J");    CardNumber[10]=new String("Q");    CardNumber[11]=new String("K");    CardNumber[12]=new String("A");    CardNumber[13]=new String("SmallKing");    CardNumber[14]=new String("BigKing");}        public OneCards(){            }}
------解决方案--------------------
类里边,只能有方法和属性。

this.xx();
super.xx();
System.out.println("xx");

这3句,即不是属性,更不是方法,只是语句而已,所以必须放在方法里.
------解决方案--------------------
支持一下
  相关解决方案