public class Test { TestSub ts = new TestSub(); ts.i++; }class TestSub { int i; } TestSub ts = new TestSub(); ts.i++; 这个类的实例化 及调用TestSub中的全局变量i 则要把这两句代码写在主方法里面 这样才可以 int i; 这是全局变量 全局变量整型的初始值是0如果 TestSub ts = new TestSub(); ts.i++; 放在主方法里面 输出ts.i++ 则会等于0
不知道怎么说,ts.i是一个数值。 例如: public class Test{ 1; } 这样可以吗?你写的就是和这一个道理!
楼上说的正是我要说的 !这相当于成员变量 你并没有指定其类型 又没有main方法 当然报错了
ts.i++; 是语句,不是变量声明和初始化,不能放在类一级!如果想用,应该用 public class Test { TestSub ts = new TestSub(); { ts.i++; } }class TestSub { int i; }
ts.i++;
放到方法里就没问题了或者ts.i++赋值给一个成员变量;
int t = ts.i++;
public class Test { //???这个有问题
TestSub ts = new TestSub();
ts.i++;
}public class Test 这个有问题,没主函数
类中分两个区
1)数据成员
2)方法
若这样写
public class Test {
TestSub ts = new TestSub();
ts.i++;
}
会把
TestSub ts = new TestSub();
ts.i++;
当作数据成员来处理
但是 i 没定义,所以错了
ts.i++的结果是个整数
跟
class A{
1 ;
}
是一个效果,这里只写一个1能行吗?
这么理解那么 int j = ts.i++; 为什么就对了 这里的i就定义了?
因为此时 j 是数据成员啊
只有ts.i++的话,那他算什么啊?成员?方法?都不是
public class Test {
TestSub ts = new TestSub();
ts.i = ts.i + 1;
}class TestSub {
int i;
}
不是和那一样嘛?也错
赋值表达式 左边必须是变量啊 ts.i 是数值 肯定错啊
public class Test {
public static void main(String[] args) {
TestSub ts = new TestSub();
ts.i = ts.i + 1;
}
}class TestSub {
int i;
}那这样为什么对啊?
一个类由 属性和方法组成
这样写就是不合规范 不是吗?
类包括属性和方法
Java要求在使用一个变量之前要对变量的类型加以声明。
ts.i=ts.i+1;写在方法外面,不符合变量声明的语法规则
TestSub ts = new TestSub();
ts.i++;
}class TestSub {
int i;
}
TestSub ts = new TestSub();
ts.i++;
这个类的实例化 及调用TestSub中的全局变量i 则要把这两句代码写在主方法里面 这样才可以
int i; 这是全局变量 全局变量整型的初始值是0如果 TestSub ts = new TestSub();
ts.i++;
放在主方法里面 输出ts.i++ 则会等于0
例如:
public class Test{
1;
}
这样可以吗?你写的就是和这一个道理!
是语句,不是变量声明和初始化,不能放在类一级!如果想用,应该用
public class Test {
TestSub ts = new TestSub();
{
ts.i++;
}
}class TestSub {
int i;
}