本篇文章给大家谈谈javaset使用,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、java调用set方法更改姓名2、如何理解并正确运用Java中的set函数3、JAVA中SET 和 GET 的用法4、java里面的集合框架的set用法应该怎么做5、在java中,set和get方法什么时候用?
java调用set方法更改姓名
java调用set方法更改姓名方法:
1、通过反射调用get/set方法都是通过获取属性的name,然后通过字符串截取将首字母大写,再拼上get/set来做
2、通过fieldName转成字符数组,首个字符-32来避免字符串截取的
我觉得两种方式都可以,但是不知道有没有遇到过,生成的get/set方法并不是已get/set开头的,而是以is开头的,比如boolean类型的成员变量。这个时候我们就需要去判断属性的类型,然后用不同的前缀来拼接get/set方法名。其实,在jdk中已经包含了这样的工具类
如何理解并正确运用Java中的set函数
set和get函数是Java中用于访问和设置类内部状态的函数,被访问的属性是不能直接访问的(即不是public的)之所以这么麻烦是因为这样可以封装访问,方便加上条件限制(比如Dog类的age属性不能set为负数),还有许多情况下这是一种默认设置的传统,比如使用数据传输对象 value object(VO)/transfer object(TO),通常这样的get和set函数是自动生成并被调用的,本身并无太大意义。因为历史的原因许多java框架会这样调用,这些对象本身只是用于传送数据,用于存储等方面。
set和get函数并不是一种纯面向对象的良好设计,而是介于过程式编程和面向对象编程之间的一种比较尴尬的状态,在许多情况下显示设计者没有经过深思熟虑如何设计一个类和它的行为。因此在可能的情形下应当努力避免使用。
JAVA中SET 和 GET 的用法
我来回答:
通常set 和 get是属性的存取器,一般称getter/setter。 set表示设置值,get表示获取值。在Eclipse中先定义好字段后,选择Source/Generate Getters and Setters可以根据选择自动生成这些方法,JBuilder中对应有BeanInfo的功能。
get方法返回的类型必须为该字段对应的类型;
set方法返回的类型一般为void,但传入的类型应为该字段对应的类型。
所以,jawdat的写法应该修改为:
public String getName() {}
public void setName(String name) {}
java里面的集合框架的set用法应该怎么做
1、Set:它是无序、不重复、该接口中的方法和Collection接口中的方法一致。
继承它的子类有HashSet和TreeSet。
HashSet:底层是哈希表数据结构,不同步的它保证元素的唯一性的方式。
根据元素的两个方法来完成的,一个是HashCode、一个是equals方法,只有当hashCode方法算出哈希值相同时,会再次判断两个元素的equals方法是否为true,如果是true说明两个元素相同,不存储,所以往hashSet集合中存储自定义对象时,要覆盖hashCode,equals方法,通过自定义对象具备的特有数据定义hashCode、equals的具体实现。
treeSet:用于给集合中的额元素按照指定的顺序进行排序,底层是二叉树结构,线程是不同步的。
它保证元素的唯一性,就是通过元素对象的比较方法返回值来确定的,如果为0,则视为两个元素时相同的元素,不存储。
treeset的两种排序方式:
1、让元素自身具备比较功能,就是强制让元素类去实现comparable接口,覆盖compareTo方法,这时元素具备的自然排序,可是如果元素自身不具备比较功能,获取具备的比较功能不是所需要的,这时排序方式就不能用了。
2、让集合自身具备比较功能,需要定义比较器,其实就实现了comparetor接口的子类对象作为参数传递给treeSet集合的构造函数,让treeSet集合一创建就具备了比较功能,该子类必须要覆盖compare方法。
在java中,set和get方法什么时候用?
get()和set()有一个好处,当输入.get(.set)时就能显示所有的属性。把所有设置都归纳起来,对于外部的使用都方便而已。
1、灵活性
比如我们有一个Person类,我们给它设置一个属性name,但是我们希望在取名字的时候,不是只显示名字,而是把名字按我们的要求输出,比如”我的名字叫XX”,代码如下:
public class Person {
private String name;
public String getName() {
return “我的名字叫” + name;
}
public void setName(String name) {
this.name = name;
}
}
如上代码,以后我们只要定义一个person对象,并给他setName(xx),再getName的时候,就会显示我的名字叫XX。
2、安全性。
比如我们的操作系统在新建用户或在共享文件的时候,经常会提示对针对某个用户的权限是什么,是只读还是只写还是可读写,这里的读写就好比get/set。
对于类来说,如果不使用set/get方法,直接用public定义某个属性,那么这个属性是可读可写的,如果你希望一个类的某个属性是只能读取,不能写入的时候,上面用public定义某个属性就不能满足了,但是我们可以使用private定义属性,再定义一个get方法,但是不定义set方法来实现。反之,只定义set,不定义get则表示该属性是只写不能读的。如下列代码:
public class Circle {
private double radius;
private double pai = 3.14;
public double getPai() {
return pai;
}
public void setRadius(double radius) {
this.radius = radius;
}
/**
* 计算周长
*/
public double getC() {
return 2*pai*radius;
}
}
我们定义了一个圆类,定义了属性半径和pai,半径我只提供写的方法,但是不提供读,而pai只提供读,但不能写,并提供了一个计算周长的方法getC。在实际项目中,对一些类的设计时,严谨的设计是要考虑哪些类是只读或是只写的。
关于javaset使用和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。