❶ java中什么是封装类,如何使用
java中的封装类是基本类型的封装成对象。
使用方法:
package wrapper;
public class IntegerTest1 {
public static void main(String[] args)
{
Integer i=new Integer(123);
byte b=i.byteValue();
double d=i.doubleValue();
System.out.println("将Integer封装类专转换为 byte值为:属"+b);
System.out.println("将Integer封装类转换为 double值为:"+d);
String s1=Integer.toBinaryString(i);
String s2=Integer.toOctalString(i);
String s3=Integer.toHexString(i);
System.out.println("转换为二进制的值为:"+s1);
System.out.println("转换为八进制的值为:"+s2);
System.out.println("转换为十六进制的值为:"+s3);
}
}
❷ java中string到底是个啥 数据类型还是啥
String是字符串数据类型
char name是定义的字符类型
字符可以看做是字母如a、b、c,简单说就是只能表示一个字符
name一般是由一个字符串(多个字符组成),所以用String类型
❸ java中的封装类
java编程思想中其实就提到了,还是做了一下总结:
1.基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的。
2.从性能上说java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的,(对象的引用在堆栈上创建)。比如
Integer i=new Integer(10); 其中new Integer()是在堆上创建的,而他的引用Integer i是在堆栈上。 封装类的出现,是为了更方便的使用一些基本类型不具备的方法,比如valueOf(),toString()等等。还有你如果想传递一个int对象的引用,而不是值,那只能用封装类。
在堆栈上分配内存的调用效率和在堆上分配内存的效率差太多了。虽然在堆栈上分配内存效率高,不过在堆栈上分配内存有内存泄露的问题。(这是一个平庸程序员基本解决不了的问题...)java用了一种很天才的方法提高了在堆上分配内存的效率,尽管如此,java还是慢。他不太可能达到向c++那么快,尽管他一直在承诺总有一天虚拟机会和机器码速度一样快。
JDK5.0开始可以自动封包了 ,也就是基本数据可以自动封装成封装类,基本数据类型的好处就是速度快(不涉及到对象的构造和回收),封装类的目的主要是更好的处理数据之间的转换,方法很多,用起来也方便。
当然,封装类型的传递是引用传递,比如
Integer a = new Integer(1);
表示一个Integer类型的引用a引用了一块内存,这块内存中的数据是1; 而a中所存的则是这块内存的引用(地址),把a传给别的方法或对象时,则是把a的引用传递过去了。
类型之间的转换:
String b = "123456";
int c = Integer.parseInt(b);
表示把字符串123456转成整型数字,其中parseInt是静态方法,可以直接使用
还有一点,在某些场合,需要用到封装类,比如一个集合List,它只能往里面添加对象,也就是Object,那么直接存数字肯定是不行 的,则需要将数字封装成封装类型对象再存到该List中,如
List list = new ArrayList();
list.add(new Integer(1));
list.add(new Integer(2));
list.add(new Integer(3));
list.add(new Integer(4));
JDK5.0以后可以自动封包,所以可以简写成
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
❹ 什么是封装Java语言中的封装类有哪些
封装类,就是为了方便使用,方便解释,
方便使用,规定很多方法,记得常用的几个在以后的编程中大有用处,还可以触类旁通,不用记太多,也不用觉得太麻烦,以后编程编多了就好了,
另一个就方便解释,因为是面向对象的。所以方法都可以理解为被动语句,用一个实际的例子,“我打你”这个句子,用java这种面向对象的语言来说就是
你.被打(我);
人这种类就要定义被打这种方法
此外人不仅被打,而且可以被骂,被说,被按排上学、工作等。
所有的方法都会定义在被施加者(也可以说是宾语)所属类身上。这是java面向对象的特点。
正因为这样每一个对象都应该有很多可以被施加的动作。
包括具有基本类型这种特征的对象,举个例子:1这个整数,但我们可以把它看作任何一种1可以变化的形态(如字符,双精,浮点),那么所有针对这种形态的动作都可以实施到它身上,但这些动作要定义在类中(但简单的数学的加减乘除就算了),通过对象来用。我们用汉语说叫被用,可以叫面向对象。
纯属个人经验,见笑了
❺ 在java中什么是封装类,有什么意义
封装类通常就是把某个抄对象的属性封装起来,这样可以防止属性被其他类直接更改,然后根据这个对象的需要提供访问或者更改的方法。
举个例子
Class People{
private String name; // 姓名
private String sex; // 性别
public String getName(){
return this.name;
}
public void setName(String name){
this.name=name;
}
public String getSex(){
return this.sex;
}
}
这个People的类就是把名字和性别封装了起来,然后把它们的属性private私有化;这样外部在People people = new People() 后,不能直接通过people.name="xxx"; 去更改你的属性;而是需要people.setName("xxx");
这样你就可以根据你的需要是否提供这些方法来保护你的属性,例如上面没有提供性别修改的公共方法,其他对象是不能直接修改的。
封装类还有好处就是把很多相关的属性封装起来,方便你使用。
❻ java string是什么类型
Java中String是一个特殊的包装类数据,有两种创建形式:
第一种先在栈中创建一个对String类的对象引用变量s,然后去查找"abc"是否被保存在字符串常量池中,如果没有则在栈中创建三个char型的值'a'、'b'、'c',然后在堆中创建一个String对象object,它的值是刚才在栈中创建的三个char型值组成的数组{'a'、'b'、'c'},接着这个String对象object被存放进字符串常量池,最后将s指向这个对象的地址,如果"abc"已经被保存在字符串常量池中,则在字符串常量池中找到值为"abc"的对象object,然后将s指向这个对象的地址。
第一种特点:JVM会自动根据栈中数据的实际情况来决定是否有必要创建新对象。
第二种可以分解成两步1、String object = "abc"; 2、String s = new String(object); 第一步参考第一种创建方式,而第二步由于"abc"已经被创建并保存到字符串常量池中,因此jvm只会在堆中新创建一个String对象,它的值共享栈中已有的三个char型值。
第二种特点:一概在堆中创建新对象,而不管其字符串值是否相等,是否有必要创建新对象。
在讲字符串比较前,必须要了解==和equals的区别:
因为java所有类都继承于Object基类,而Object中equals用==来实现,所以equals和==是一样的,都是比较对象地址,java api里的类大部分都重写了equals方法,包括基本数据类型的封装类、String类等。对于String类==用于比较两个String对象的地址,equals则用于比较两个String对象的内容(值)。
❼ 什么是封装类java,date,integer,stringbuffer,system
1、来Java中有8种基本类型的封装类(注意首字源母大写):Byte,Short,Integer,Long,Float,Double,Boolean,Character.
2、封装的概念:
将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来对隐藏的信息进行操作和访问。
3、好处:
(1)只能通过规定的方法访问数据
(2)隐藏类的实例细节,方便修改和实现。