最近才学到成员变量和方法,有很大问题。。。
1 成员变量可以设置和取出,不明白两者的意义和区别,什么时候该设置什么时候是取出?
2 成员变量取出就是成员方法吗?(因为我看两者都可以用return)
3 void我只知道在成员方法中返回值为空时用,设置和读取成员方法时也要用?但那是什么情况时用呢?
这几个概念完全混乱。。。希望有前辈可以解疑!!
如果不方便表达,可以借用这段代码说话,这个是设置名字和读取年龄
private String Name;
private byte Age;
public void setAge(bute age)
{ sName=name; }
public byte getAge
{ return Age; }
我知道问题比较多也很浅薄。。。但是真的很焦虑,希望可以有人指点一下~!!!
虽然大家说了那么多,但是我头都看晕了,不知道你晕了没~
这样的类,表现的是JAVA 的 封装
class Man{
private String name;
private int age;
public void setName(String name){ //这里是成员变量的一个 getter 和 setter
this.name=name;
}
public String getName(){
return this.name;
}
public void SayHello(){
System.out.println(this.getName()+"说:Hello!“ ); //this就是自身类对象,就是man
} // this.getName() 就获得了这个人的姓名
}
这是我们定义的一个人 有 名字 和 年龄,但是具体的一个人是怎么样的呢?
我们就先 实例一个man : Man man=new Man();
现在我们就有一个人了,怎么样给这个人起名字呢?怎么样设置它的年龄呢?属性已经封装在了man但中,我们这是就要用成员方法来操作成员变量了,比如我起名: man.setName("张三"); 有名字了,这个人我们还教他了一个sayHello的动作,怎么样让他动呢? man.SayHello();
运行结果就是 张三 说:hello!
是不是明白了呢?这就是成员方法和成员变量,变量描述的就是对象的属性,而方法,描述的是对象的动作
private String Name;//声明私有变量 为String类型
private byte Age;//生命byte类型的年龄
public void setAge(bute age)//写一个共有且无返回值类型的方法,不是你所说的为null 而是这个方法不需 要有返回值 接收一个bute??(byte类型吧?)的变量
{ sName=name; }//这里写的就不是很清楚了sName是哪里来的?name又是什么?按照你的写题思路该是
{Age=age}//给age赋值
public byte getAge//这个就是把age里面的值读取出来!
{ return Age; }
你的代码是不是错了啊
private String Name;
private byte Age;
public void setAge(bute age)
{ sName=name; }
public byte getAge
{ return Age; }
应该是设置年龄和读取年龄
private String Name;
private byte Age;
public void setAge(byte age)
{ Age=age; }
public byte getAge
{ return Age; }
如果是设置名字和读取年龄也应该是
private String Name;
private byte Age;
public void setName(String name)
{ Name=name; }
public byte getAge
{ return Age; }
成员变量可以设置和取出要这样写也是为了更好的封装效果,其实要什么时候设置就是在你要为那个成员方法赋值的时候,什么时候取出就是在你要调用那个成员方法的值的时候,取出和设置都是对成员变量进行操作,这个其实很容易理解的
public class Person{
private String name; //注意变量的命名尽量第一个字母小写。以后你会知道为什么
private int age;
//此方法设置Person的age属性,因为age的访问修饰符是private(私有属性)
//所以只能利用自身的方法进行访问,此方法不需返回值,所以使用void修饰
public void setAge(int age)
{ this.age=age; }
//此方法是取得age的值,如:Person p=new Person() int i=p.getAge()
// 变量i将获得age的值,如age的修饰时public 则可以这样:int i=p.age
//因为p.getAge() 方法返回了一个值所以 int i=p.getAge();成立
// 这里 return 是用来给调用的对象返回一个值。
public int getAge()
{ return age; }
public void setName(String name){ //同上
this.name=name;
}
public String getName(){ //同上
return name;
}
}
//假如我们还有另一个类Student 有name和age属性,我们需要设置他们的值。
public class Student{
public String name;
public int age;
public static void main(String[]args){
Person person = new Person(); //创建Person的对象
person.setAge(20); //设置person的age为20
person.setName("张三");//设置person的name是张三
Student student = new Student();
//设置student的name值,因为Student的name变量是public修饰所以student.name是正确的。
//这一句是取得Person的name值并赋值给Student的name
student.name=person.getName();
student.age=person.getAge(); //这一句同上
System.out.println(student.name);
System.out.println(student.age);
}
}
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息