永发信息网

求解 关于JAVA中get() set()的用法 特别是gert()返回

答案:4  悬赏:10  手机版
解决时间 2021-04-21 16:29

/这是一个主运行类
///在主运行方法中,通过设置器设置参数值
///将三个花对象以字符串形式输出
public class thread44
{
public static void main(String[] args)
{
flower f1=new flower();
flower f2=new flower();
flower f3=new flower();
f1.setname("牡丹");
f1.setcolor("红色");
f1.setlocation("云南");
f2.setname("玫瑰");
f2.setcolor("黄色");
f2.setlocation("北京");
f3.setname("月季");
f3.setcolor("蓝色");
f3.setlocation("上海");
System.out.println(f1.tostring());
System.out.println(f2.tostring());
System.out.println(f3.tostring());
}
}
///这是一个花类
///通过设置多个有关花类的私有变量
///通过设置器来设置花对象的属性
///通过访问器来获得花对象的属性。
///通过tostring方法让对象以字符串形式输出。
class flower
{
private String name;
private String color1;
private String location;
public void setname(String name)
{
this.name=name;
}
public void setcolor(String color1)
{
this.color1=color1;
}
public void setlocation(String location)
{
this.location=location;
}
public String getname()
{
return name;
}
public String getcolor()
{
return color1;
}
public String getlocation()
{
return location;
}
private void print()
{
System.out.println("这个就是"+name);
}
public String tostring()
{
String information="花的名称:"+name+";"+" "+"花的颜色:"+ color1+";"+""+"花的出产地:"+location+" ";
print();
return information;
}
}

如果上面的题目

有set() 和get() 方法

我的理解是所谓方法就需要去调用 就如在主主程序中set()方法就得到了对象的调用 ,问题就来了 为什么在get()没有被调用时 但是还是执行了类属性值在主程序的里的返回。我就是不明白了 是不是 void()需要被调用 而返回型的方法就是可调用和也可以不调用?是不是返回型在类中编译时就被执行了呢?请高手帮我详细讲解一下返回型的get()方法!

最佳答案
getter和setter就是用来进行数据封装的,比如说你的花的类,名字和颜色就是它的私有属性,我们不可以通过其他途径对颜色和名字赋值或者取值,要操作就必须先实例(new)一个flower对象,然后以 flower.getColor() 取得其颜色 flower.serColor() 设置其颜色。
全部回答

get() set 是对私有数据封装的 这样更体现面向对象的原则

还有 是方法 必须得被调用才会 执行

问题就来了 为什么在get()没有被调用时 但是还是执行了类属性值在主程序的里的返回。

这是什么意思? get() 是没被调用啊 怎么执行了类属性值在主程序的里的返回??

setter,getter也就是一个普通函数.... 有返回值没返回值都行.不过,通常是getter有返回值而已, 对象可以调用自己有的方法,类似object.method(). 或是在对象的内部直接写上方法名进行调用
set和get方法是用于封装的 所以一般只在private中用 当然你如果不是在private中用也没关系 代码也是可以执行的 public void setA(int a){this.a = a; }是传进去一个int类型的实参a把它赋值给类里的形参a public void setA(){this.a = a; }相当于执行了一条a=a的代码 都是形参; public int getA(int a){this.a = a;} public int get(){this.a = a;} 这两条代码都通不过编译 会提示没有返回值
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我是1989年五月十三日出生的想占卜和男朋友的
dnf怎么好好掉了
可以把别人写的文章放在自己的空间吗
吉庆花语鲜花饼烘焙坊我想知道这个在什么地方
趄开头有什么成语大全,明字开头的成语大全
qq三国怎么点亮dsds
一岁的小孩适合喝什么牛奶
中华园商住楼-停车场地址在哪,我要去那里办
2009QQ怎样更改头像?
为什么人要有爱情呢?当自己被别人拒绝的时候
大连金沙滩门票多少钱,大连金沙滩看海要钱吗
老巷子味道在什么地方啊,我要过去处理事情
邓超演过些什么电视啊
qq华夏图标熄灭了
屈臣氏的L i mi怎么样
推荐资讯
大方县在哪里啊,我有事要去这个地方
爱情的真正含义
二进制、八进制、十进制、十六进制之间的连贯
骆在姓氏里怎么读,骆用于姓时读音是什么?
失恋三十三天中王小贱骂陆然的台词
怎样点击QQ校友?
华派标牌厂地址有知道的么?有点事想过去
宿州市第七小学西门怎么去啊,有知道地址的么
Antonio s song连接地址
中国国际文化促进会陶瓷艺术研究院地址在什么
一个半圆的周长是20.56cm,它的直径是多少?
Aagel是什么意思呢?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?