黑马程序员技术交流社区
标题:
请问这段代码怎么错了?
[打印本页]
作者:
liuruhui
时间:
2015-12-9 21:38
标题:
请问这段代码怎么错了?
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
MyThis a = new MyThis();
a.setId(12);
a.getId();
MyThis b = new MyThis();
b.setId(13);
b.getId();
}
class MyThis{
private int id;
public void setId(int id){
this.id = id;
}
public void getId(){
System.out.println(this.id);
}
}
}
更多0
作者:
DaYe
时间:
2015-12-9 22:03
这代码让你写的很明显类中类了
作者:
DaYe
时间:
2015-12-9 22:06
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
MyThis a = new MyThis();
a.setId(12);
a.getId();
MyThis b = new MyThis();
b.setId(13);
b.getId();
}
}
class MyThis{
private int id;
public void setId(int id){
this.id = id;
}
public void getId(){
System.out.println(this.id);
}
}
作者:
DaYe
时间:
2015-12-9 22:08
再或者
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
MyThis a = new MyThis();
a.setId(12);
a.getId();
MyThis b = new MyThis();
b.setId(13);
b.getId();
}
static class MyThis{
private int id;
public void setId(int id){
this.id = id;
}
public void getId(){
System.out.println(this.id);
}
}
}
作者:
xiaoaonuanhu
时间:
2015-12-9 22:15
运行的时候报什么错误了?
作者:
米阳SOHO
时间:
2015-12-9 22:20
你的类中没有无参构造函数,而你在主函数用的是无参构造函数
作者:
pllaoyao
时间:
2015-12-9 22:21
我是来看代码学习大神改错的
作者:
bbaijiajinger
时间:
2015-12-9 22:38
你这是内部类吗?
还是括号打错了?
作者:
songjianzaina
时间:
2015-12-9 22:38
你的这种写法是把class MyThis 当做内部类来使用,不知楼主是否有意这样做。如果你是确实是将class MyThis看做是内部类的话,只需在类名前面加上static 也就是static class MyThis 代码如下:
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
MyThis a = new MyThis();
a.setId(12);
a.getId();
MyThis b = new MyThis();
b.setId(13);
b.getId();
}
static class MyThis{
private int id;
public void setId(int id){
this.id = id;
}
public void getId(){
System.out.println(this.id);
}
}
}
另外一种可能是楼主并不是要把MyThis当做内部类使用,如果是这样的话,那就是楼主粗心将MyThis类写在了Demo类里面。您只需将MyThis类移到Demo类大括号外即可。代码如下:
public class Demo {
/**
* @param args
*/
public static void main(String[] args) {
MyThis a = new MyThis();
a.setId(12);
a.getId();
MyThis b = new MyThis();
b.setId(13);
b.getId();
}
}
class MyThis{
private int id;
public void setId(int id){
this.id = id;
}
public void getId(){
System.out.println(this.id);
}
}
作者:
DayBreak
时间:
2015-12-9 22:40
把两个类分开就对了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2