导航:首页 > 编程语言 > javaset赋值

javaset赋值

发布时间:2022-03-12 14:58:14

java中get set 方法赋值问题

setter、 gettre
setter(private String name):public void setName(String n);
getter(private String name):public String getName();

class Person{ //类名称首字母大写
private String name ;
private int age ;
public void setName(String n){
name = n ;
}
public void setAge(int a){
age = a ;
}
public String getName(){
return name ;
}
public int getAge(){
return age ;
}
public void tell(){ //没有static
System.out.println("姓名:" + name + ",年龄:" + age) ;
}
}

public class Hello{
public static void main(String args[]){
Person per = new Person() ; //声明并实例化对象
per.setName("张三") ;
per.setAge(20) ;
per.tell() ;
}
}
以上的代码只是可以访问,不过没有验证,但是问题是验证在哪块?
应该在setter之中增加检查操作
class Person{ //类名称首字母大写
private String name ;
private int age ;
public void setName(String n){
name = n ;
}
public void setAge(int a){
if(a >=0 && a <= 250){
age = a ;
}
}
public String getName(){
return name ;
}
public int getAge(){
return age ;
}
public void tell(){ //没有static
System.out.println("姓名:" + name + ",年龄:" + age) ;
}
}

public class Hello{
public static void main(String args[]){
Person per = new Person() ; //声明并实例化对象
per.setName("张三") ;
per.setAge(-20) ;
per.tell() ;
}
}
以后在进行开发的时候,如果有需要,则在setter上加入一些验证措施
而getter只是简单的将数据返回即可,不需要做任何的验证。

疑问?为什么现在没有在程序之中使用getter()方法?
现在类之中的getName()和getAge()两个方法虽然被定义了,但是发现
并没有被使用,那么这样的定义还有意义?
这类之中的属性定义setter、getter操作方法的目的就是为了设置和
取得属性的内容,也许某一个操作暂时不使用到取得的操作,不过从
开发来讲,必须全部提供,
class Person{ //类名称首字母大写
private String name ;
private int age ;
public void setName(String n){
name = n ;
}
public void setAge(int a){
if(a >=0 && a <= 250){
age = a ;
}
}
public String getName(){
return name ;
}
public int getAge(){
return age ;
}
public void tell(){ //没有static
System.out.println("姓名:" + name + ",年龄:" + age) ;
}
}

public class Hello{
public static void main(String args[]){
Person per = new Person() ; //声明并实例化对象
per.setName("张三") ;
per.setAge(-20) ;
per.tell() ;
System.out.println(per.getName()) ;
}
}

以后在定义类的时候,所有的属性都要编写private封装,
封装之后的属性如果需要被外部操作,则编写setter、getter.

② java中怎么往集合类set里添加数据

两种向Set中添加元素的方法,第一种是使用add()方法,每次添加一个元素到set中,当集合中不存在相同元素时将添加到集合中,并返回true,当集合中存在元素时,返回false。代码如下:

Set<String> sets = new HashSet<>();
sets.add("String");
System.out.println(sets.add("Tree"));
System.out.println(sets.add("String"));
List<String> lists = new LinkedList<>();
lists.add("test");
lists.add("test");
lists.add("one");
System.out.println(sets.addAll(lists));

还有一个是向集合中批量添加元素的方法addAll(),这个方法的入参是Colletion。上述代码执行结果如下:

扩展知识

Set集合可以知道某物是否已近存在于集合中,不会存储重复的元素,注重独一无二的性质,用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。可以很好地作为排重时使用的数据结构,但要注意集合内部数据一般情况没有顺序。常用的set有HashSet和TreeSet。

TreeSet是JAVA中集合的一种,TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。它继承于AbstractSet抽象类,实现了NavigableSet<E>,Cloneable,java.io.Serializable接口。一种基于TreeMap的NavigableSet实现,支持2种排序方式:自然排序或者根据创建TreeSet 时提供的 Comparator 进行排序。

③ java get set怎么给时间类型的变量赋值

定义属性的时候 要提供get set 方法 。赋值的时候就set属性()即可。

④ java中charset怎么赋值

这个方法是把字节数组转为字符串用的,第一个参数是字节数组,第二个参数是字符编码。比如:byte[]bytes=newbyte[1024];newString(bytes,"UTF-8");意思是把bytes数字按"UTF-8"的编码方式转成字符串。

⑤ java中对象属性用set赋值时是开辟新内存还是在原有的内存中直接修改的

直接修改的是原对象中的属性

⑥ 在java中 变量之间是如何赋值的

一、基本类型数据赋值
实验1 :定义一个int 类型变量a = 3,并将a 赋值给int b,然后将a ,赋值为5,那么b 的值是3 还是5 呢?

int a = 3;
int b = a ;
a = 5 ;
System.out.println(" a = " + a+" b = "+b );

运行程序 ,打印结果为 :
a = 5 b =3

我们看到,b并没有随a的改变而改变。基本数据类型是值赋值。
二、String类型数据赋值
实验2:定义一个String类型变量s1 赋值为“a”,并将s1赋值给String s2 ;然后将s1赋值为“b”,那么s2的值是 “a”还是 “b”?

String s1 = "a" ;
String s2 = s1;
s1 = "b" ;
System.out.println("s1 = "+s1+" s2 = "+ s2);

运行程序 ,打印结果为 :

s1 = b s2 =a

我们看到,s2并没有随s1的改变而改变。

三、自定义数据类型赋值
实验3: 创建一个TUser u1 ,并将u1赋值给TUser u2 ,将 u1重新赋值 ,u2会随着u1改变而改变吗 ?

TUser u1 = new TUser();
u1.setId(1);
TUser u2 = u1 ;
u1 = new TUser();
u1.setId(2);
System.out.println("ui :"+u1 + "\t\n" +"u2 : "+ u2);

运行程序,打印结果为:
u1 :TUser(id=2)
u2 : TUser(id=1)

我们看到u2并没有随着u1的改变而改变。
如果我们不改变u1指向的地址,而是改变u1指向地址所对应的数据(即将 u1 = new TUser(); 注释掉)。那么u1,u2 打印的记过将都会是 TUser(id=2)

通过以上三个实验我们发现:
变量之间的赋值,可以说没有所谓的值赋值和地址赋值。
简而言之,将一个变量a赋值给另一个变量b,是将这个变量a的值,拷贝一份给变量b(如果a是引用类型,就拷贝引用,如果是基本类型,就拷贝原始值)

⑦ java的set方法

我怎么没明白呢? xx是个类还是个java primitive type?给java 变量赋值用 =
变量 = 值;
就行了啊。
看你写xx.setParentId ('0');估计xx是个类?xx有个变量叫parentId? 你想给这个parentId一个值?
你可以在xx类里叫一个set方法
Class XX{
private int parentId;
public void setParentId(int parentId){
this.parentId = parentId;
}
}

外部调用时 xx.setParentId(0);就可以。
当然,如果parentId是字符串,就把int的地方改成String,然后调用xx.setParentId("0");

⑧ java反射给字段赋值就是给实体类的set赋值,怎么做

packagecom.test;

importjava.lang.reflect.Field;

publicclassA{
privateStringname;

publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

publicstaticvoidmain(String[]args){
try{
Class<A>c=A.class;
Fieldfield=c.getDeclaredField("name");//获取字段
Objectobj=c.newInstance();//实例化对象
field.set(obj,"aaa");//为字段赋值
System.out.println(field.get(obj));
}catch(Exceptione){
e.printStackTrace();
}
}
}

⑨ java新手求助super和set给父类赋值!

class Animal

{

private int age;

public Animal(){

}

public Animal(int age){

this.age = age;

}

public void setAge(int age){

this.age = age;

}

public int getAge(){

return age;

}

}


class Dog extends Animal

{

public Dog(int age){

// super(age); //------------为什么此处用setAge(age);不行呢???????

super.setAge(age); //setAge(int)本是父类的方法,所以要这样调用,另外这样做还需要在父类当中声明一个无参的构造方法

}

public int getAge(){

return super.getAge();

}

}

public class Test6

{

public static void main(String[] args)

{

Dog dog = new Dog(4);

System.out.println(dog.getAge());


}

}


⑩ JAVA中的SET是设置的意思,但是它和我们直接用等号赋值有什么区别啊

一个是 属性私有化
另外可以动态赋值

阅读全文

与javaset赋值相关的资料

热点内容
有个人叫丧清的电影 浏览:730
androidmysql驱动 浏览:687
偷袭珍珠港国语版全部 浏览:611
美国一个电影叫什么汉 浏览:673
叔嫂外遇电影 浏览:736
露点外国电影 浏览:197
镇江服务器做棋牌游戏怎么样 浏览:855
uni小游戏源码 浏览:116
母乳在线母乳中出 浏览:783
鸿蒙为什么没有安卓彩蛋 浏览:997
可乐老师创意编程 浏览:28
七日杀如何设置专用服务器 浏览:28
主机怎么打开加密文件 浏览:19
重生收母系统小说 浏览:691
韩国电影静华 浏览:415
女的参加女儿运动会,下体塞了性爱玩具的电影 浏览:249
特警破案电影大全 浏览:443
学而思哪个app免费 浏览:972
孝敬爸妈电影介绍 浏览:94
软件编程前端月收入多少 浏览:983