已解决对象调用的问题(Java)
提问者:________刺心丶 | 浏览次 | 提问时间:2017-01-30 | 回答数量:9
看这个程序:class XiyoujiRenwu{float height, weight; String head, ear, hand, foot, mouth; void speak(String s) { head=\"歪着头\"; System.out.println(s); }}class Example{ public static void main(String args[]) { XiyoujiRenwu Zhubajie, Sunwukong; Zhubajie = new XiyoujiRenwu; Sunwukong = new XiyoujiRenwu; Zhubajie.head = \" 大头 \"; System.out.println(\"Zhubajie的头 :\"+Zhubajie.head); ..........“1” Zhubajie.speak(\"我想娶媳妇\"); System.out.println(\"Zhubajie现在的头:\"+Zhubajie.head); ..........“2”}}运行的结果是:Zhubajie的头
已有9条答案
你这个程序可以运行吗?
我一眼就看出错误来了
没有publicclass
Zhubajie = new XiyoujiRenwu; 这是什么东西?
正规的代码 应该是这样的
class XiyoujiRenwu {
float height, weight;
String head, ear, hand, foot, mouth;
public void speak(String s) {
head="歪着头";
System.out.println(s);
}
}
public class Example {
public static void main(String args[]) {
XiyoujiRenwu Zhubajie, Sunwukong;
Zhubajie = new XiyoujiRenwu();
Sunwukong = new XiyoujiRenwu();
Zhubajie.head = " 大头 ";
System.out.println("Zhubajie的头 :"+Zhubajie.head);
Zhubajie.speak("我想娶媳妇");
System.out.println("Zhubajie现在的头:"+Zhubajie.head);
}
}
少了public的话 编译器也可以寻址的到 那个class是主的 但要通过main函数去寻找 这样 在内部运行的效率不高而已!
艹xxoofly
回答数:90 | 被采纳数:78
书上的例题中就没有publicclass
Zhubajie = new XiyoujiRenwu; 难道不是为对象分配内存吗?
书上的例子比较长,我省了一些,但没有省一个类! 省的全是Example类中的语句
我试着运行了下 出了2个错误:
解答:
Zhubajie.head = " 大头 ";
程序执行到这句话的时候 就给XiyoujiRenwu 类中的head自定义了
接着马上输出语句System.out.println("Zhubajie的头 :"+Zhubajie.head);
所以就出大头了
程序继续执行到Zhubajie.speak("我想娶媳妇");这句的时候 看回speak方法中
有个head="歪着头"; 因此当执行speak完毕后 做了两个事件第一先给head定义为“歪着头”
再输出“我想娶媳妇”
程序最后再执行输出 System.out.println("Zhubajie现在的头:"+Zhubajie.head);
当然 就是之前speak完毕后 做出的事件值咯 “歪着头”
违心mmmmmmm
回答数:35 | 被采纳数:38
你按照我写给你的代码去运行就可以了 !
定义类的对象 是有括号的
Zhubajie = new XiyoujiRenwu ( );是这样
而不是
Zhubajie = new XiyoujiRenwu; 这样
neo_pang :
你改的程序也有误,我运行了下,错误显示和我在3楼发的贴子是一样的
love_浅蓝浠
回答数:90 | 被采纳数:27
定义类的对象 分配内存
实际上是调用类中的缺省构造函数的!
当你定义好 这个类class XiyoujiRenwu { .... }
后 就会默认的 有个构造函数
public XiyoujiRenwu ( ){....}
只是没写出来而已
定义对象 都是调用类的这个构造函数 当然 你也可以自己定义带有参数的构造函数!
所以 函数是有括号在后面的 别忘记了!
我的代码 没有错的!!!
我运行过了以后 才发上去的!
主要 的是你的编译器 输入的问题!
你看错误的提示就知道了
这些 分号 中括号 小括号 大括号的符号
应该是在全英文的状态下输入!
你先调整过你电脑上的输入法 了再写代码吧!
一场_不切实际_
回答数:145 | 被采纳数:121
而且还有一个很严重的错误 很低级的错误 也是很重要的错误!
你应该是javac Example.java文件的
因为你的main函数 是定义在Example这个类当中
因此Example这个类才是共有主类!
而且保存的文件名应该是 Example.java这样
然后在dos下运行
javac Example.java
java Example
即可!