为什么主方法调用成员属性需要使用对象调用,成员不用对象可以直接调用?
public class Test { String name; int age; String grade; String gender; public void student(){ System.out.println("我是一个学生"); } public void gender(String gen){ System.out.println("我是一个"+gen+"孩"); } public void mySelf(){ //普通方法调用成员属性不需要使用对象调用? System.out.println("我叫"+name+",今年"+age+"岁了,读小学"+grade+"了"); } public static void main(String[] args) { //使用new关键字实例化对象 Test one = new Test(); //传入name、age、grade的参数值 one.name = "李明"; one.age = 10; one.gender = "男孩"; one.grade = "五年级"; //分别调用student、sex、mySelf方法 one.student(); one.gender(one.gender); one.mySelf(); //主方法调用成员属性需要使用对象调用 // System.out.println("我叫"+name); } }
主方法直接用name 会报错,mySelf方法直接用name, age, grade,不传入参数和对象,也没有单独实例对象使用却没有报错
还有,置顶答案的mySelf方法不符合任务要求,任务要求无参无返,他的mySelf带参数列表了,而且还置顶无法回复,官方不能自己出个答案吗?
29
收起
正在回答 回答被采纳积分+1
3回答
weixin_慕UI5143857
2019-12-23 18:12:15
public class Person { //属性:name、age、grade String name; int age; String grade; //创建无参无返回值的student方法,描述为:我是一名学生! public void student() { System.out.println("我是一名学生!"); } //创建带参(性别sex)的sex方法,描述为:我是一个**孩! public void sex(String sex) { System.out.println("我是一个" + sex + "孩!"); } //创建无参无返回值的mySelf方法,分别介绍姓名(name),年龄(age),年级(grade) public void myself() { String str = "我叫" + name + ",今年" + age + "岁了,读小学" + grade; System.out.println(str + "了。"); } } public class Test { public static void main(String[] args) { //使用new关键字实例化对象 Person student1 = new Person(); //传入name、age、grade的参数值 student1.name = "李明"; student1.age = 10; student1.grade = "五年级"; //分别调用student、sex、mySelf方法 student1.student(); student1.sex("男孩"); student1.myself(); } }
案例的代码。
他的要求是需要在2个Java文件当中执行的
所以程序需要分成两部分分开写。分别写道Test.java和Person.java
好帮手慕小尤
2019-12-22 14:12:02
同学你好,1. 非常抱歉,给您体验不好的学习体验,已取消置顶的问答。关于答案的问题,在编程中,最重要的就是自己的思想,每个人都会有自己的实现思路。所以老师没有办法给你标准答案。如果同学在写代码的过程中有什么问题,同学可以在问答区进行提问哦~ 老师都会帮助你解决问题。
2. 主方法是一个静态方法,在静态方法中需要通过实例化对象调用非静态的方法与属性。因静态方法是在类加载的时候创建的,而成员方法是在对象实例化的时候加载的,当静态方法以及加载好时,成员方法可能尚未初始化好,所以不能在静态方法中直接调用非静态属性以及非静态方法。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星