A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liuruhui 中级黑马   /  2015-12-9 21:38  /  1162 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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



9 个回复

倒序浏览
这代码让你写的很明显类中类了
回复 使用道具 举报
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);
        }
}      
回复 使用道具 举报
再或者
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);
                }
        }        
}
回复 使用道具 举报
运行的时候报什么错误了?
回复 使用道具 举报
你的类中没有无参构造函数,而你在主函数用的是无参构造函数
回复 使用道具 举报
我是来看代码学习大神改错的
回复 使用道具 举报
你这是内部类吗?
还是括号打错了?
回复 使用道具 举报
你的这种写法是把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);
}
}        
回复 使用道具 举报
把两个类分开就对了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马