为什么主方法调用成员属性需要使用对象调用,成员不用对象可以直接调用?
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 星