【Java】Java基础知识3. tip1~10
2015-02-05 16:20
211 查看
1.Java语言支持的8中基本数据类型是:
byte
short
int
long
float
double
boolean
char
String不是基本数据类型。java.lang.String类是final类型的,因此不可以继承,不能修改这个类。为提高效率节省空间,应使用StringBuffer类。
2.String与StringBuffer的区别
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
String提供数值不可改变的字符串,String是不可变的对象。
StringBuffer类提供的字符串可以修改,主要使用的方法:append(将字符串添加到缓冲区的末端)和insert(在指定的点添加字符)
关于String,StringBuilder以及StringBuffer,描述错误的是()
对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象
StringBuffer是线程安全
StringBuilder是线程安全
可以修改StringBuilder和StringBuffer的内容
答案:C
A,java中的字符串存储在字符串常量区,不会改变,发生改变是会新创建一个对象
B,StringBuffer是线程安全的StringBuilder
C,StringBuilder跟StringBuffer功能相同,区别是StringBuilder不是线程安全的
D,StringBuilder和StringBuffer底层都是以字符数组存放的,可以修改内容
用new创建的对象在堆区
函数中的临时变量在栈区
java中的字符串在字符串常量区
定义有StringBuffer s1=new StringBuffer(10);s1.append(“1234”)则s1.length()和s1.capacity()分别是多少?
4 10
4000
4 4
10 10
10 4
答案:A
length 返回当前长度
如果字符串长度没有初始化长度大,capacity返回初始化的长度
如果append后的字符串长度超过初始化长度,capacity返回增长后的长度
3.int和Integer的区别
Java为八大基本数据类型提供了包装类。int是基本数据类型,Integer是对应的int型的包装类。就是把int类型包装成Object对象。
原始的基本数据类型 封装成的包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
4.String a = new String("abc");创建了几个String Object对象?
两个,一个字符对象a,一个字符对象的引用变量"abc"。
5.List Set vector Map 是否继承自Collection接口?List、vector和Set是。 Map不是
6.try{}里面有一个return语句,紧跟在try后面的finally{}里的coding会不会被执行,什么时候执行,在return前还是后?会被执行,在return前执行。
以下代码返回值是什么?
true
false
答案:B 返回值是false,因为finally在return true前执行,执行finally的时候就renturn false了。
7.两个对象值相同(x.equals(y)==true),那x和y的hashcode相不相同?相同。
8.public、 protected、 friendly、 private的区别
当前类 同一package 子孙类 其他package
public ○ ○ ○ ○
protected ○ ○ ○ × (protected子类没有在同一包中也可以访问)
friendly ○ ○ × ×
private ○ × × ×
缺省/无访问修饰符可以被同一包中的所有类访问,如果子类没有在同一个包中,也不能访问
类B从类A派生,则类B可以访问类A中的( )成员?
public成员
private成员
protected成员
数据成员
函数成员
答案:AC
9.java支持多继承么?
java不支持多继承(extends),每个类都只能继承一个类,担一个类可以实现多个接口(implements)。
形象的比喻,一个孩子多个父亲,不合理。但一个父亲可以多个孩子。就是一个父类可以有很多子类。
类定义属性和方法,描述一类事物的抽象。
接口定义的是行为,并不限制于任何具体意向。
从逻辑上理解,单继承更明确,一个子类就应该是其父类的所代表的事物的某个更具体的类别。不应该是即使这个东西又是那个东西。
而接口则不同,接口只定义一些公共行为。比如两个接口,一个定义跑这个动作,一个定义走这个动作,人这个类就可以同时实现跑和走这两个动作行为。
类对接口的implements称作实现,不能叫做继承。
当然,接口可以多继承接口,从语言上来说,接口对接口的继承称之为扩展更为合适。
10.进程和线程的区别
进程是正在运行着的应用程序,是计算机中的程序关于某数据集合上的一次运行活动。
线程是程序执行流的最小单元。是进程中执行程序的序列(程序片段)。
进程和线程的差别:线程是指进程内的执行单元,也是进程内的可调度实体。
byte
short
int
long
float
double
boolean
char
String不是基本数据类型。java.lang.String类是final类型的,因此不可以继承,不能修改这个类。为提高效率节省空间,应使用StringBuffer类。
2.String与StringBuffer的区别
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
String提供数值不可改变的字符串,String是不可变的对象。
StringBuffer类提供的字符串可以修改,主要使用的方法:append(将字符串添加到缓冲区的末端)和insert(在指定的点添加字符)
关于String,StringBuilder以及StringBuffer,描述错误的是()
对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象
StringBuffer是线程安全
StringBuilder是线程安全
可以修改StringBuilder和StringBuffer的内容
答案:C
A,java中的字符串存储在字符串常量区,不会改变,发生改变是会新创建一个对象
B,StringBuffer是线程安全的StringBuilder
C,StringBuilder跟StringBuffer功能相同,区别是StringBuilder不是线程安全的
D,StringBuilder和StringBuffer底层都是以字符数组存放的,可以修改内容
用new创建的对象在堆区
函数中的临时变量在栈区
java中的字符串在字符串常量区
定义有StringBuffer s1=new StringBuffer(10);s1.append(“1234”)则s1.length()和s1.capacity()分别是多少?
4 10
4000
4 4
10 10
10 4
答案:A
length 返回当前长度
如果字符串长度没有初始化长度大,capacity返回初始化的长度
如果append后的字符串长度超过初始化长度,capacity返回增长后的长度
3.int和Integer的区别
Java为八大基本数据类型提供了包装类。int是基本数据类型,Integer是对应的int型的包装类。就是把int类型包装成Object对象。
原始的基本数据类型 封装成的包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
4.String a = new String("abc");创建了几个String Object对象?
两个,一个字符对象a,一个字符对象的引用变量"abc"。
5.List Set vector Map 是否继承自Collection接口?List、vector和Set是。 Map不是
6.try{}里面有一个return语句,紧跟在try后面的finally{}里的coding会不会被执行,什么时候执行,在return前还是后?会被执行,在return前执行。
public boolean returnTest() { try { return true; } catch (Exception e) { } finally { return false; } }
以下代码返回值是什么?
true
false
答案:B 返回值是false,因为finally在return true前执行,执行finally的时候就renturn false了。
7.两个对象值相同(x.equals(y)==true),那x和y的hashcode相不相同?相同。
8.public、 protected、 friendly、 private的区别
当前类 同一package 子孙类 其他package
public ○ ○ ○ ○
protected ○ ○ ○ × (protected子类没有在同一包中也可以访问)
friendly ○ ○ × ×
private ○ × × ×
缺省/无访问修饰符可以被同一包中的所有类访问,如果子类没有在同一个包中,也不能访问
类B从类A派生,则类B可以访问类A中的( )成员?
public成员
private成员
protected成员
数据成员
函数成员
答案:AC
9.java支持多继承么?
java不支持多继承(extends),每个类都只能继承一个类,担一个类可以实现多个接口(implements)。
形象的比喻,一个孩子多个父亲,不合理。但一个父亲可以多个孩子。就是一个父类可以有很多子类。
类定义属性和方法,描述一类事物的抽象。
接口定义的是行为,并不限制于任何具体意向。
从逻辑上理解,单继承更明确,一个子类就应该是其父类的所代表的事物的某个更具体的类别。不应该是即使这个东西又是那个东西。
而接口则不同,接口只定义一些公共行为。比如两个接口,一个定义跑这个动作,一个定义走这个动作,人这个类就可以同时实现跑和走这两个动作行为。
类对接口的implements称作实现,不能叫做继承。
当然,接口可以多继承接口,从语言上来说,接口对接口的继承称之为扩展更为合适。
10.进程和线程的区别
进程是正在运行着的应用程序,是计算机中的程序关于某数据集合上的一次运行活动。
线程是程序执行流的最小单元。是进程中执行程序的序列(程序片段)。
进程和线程的差别:线程是指进程内的执行单元,也是进程内的可调度实体。
相关文章推荐
- 【Java学习笔记】基础知识学习10【继承与多态】
- Java语言的基础知识10
- JAVA相关基础知识总结(连载)-10
- java基础知识10-javaIO
- java基础知识(10)---包
- java基础知识总结10
- Java软件开发基础知识梳理之(10)------Hibernate二级缓存
- Java基础知识强化之网络编程笔记10:TCP之客户端读取文本文件服务器控制台输出
- Java基础知识强化10:Java中的中间缓存变量机制
- java基础知识总结(10)
- 黑马程序员--网络编程--java学习日记10(基础知识)
- 【C语言】C语言基础知识1. tip01~10
- Java基础知识强化之集合框架笔记10:Collection集合使用的步骤
- Java基础知识_毕向东_Java基础视频教程笔记(5-10 面向对象)
- java基础知识总结10
- Java基础知识强化之IO流笔记10:File类输出指定目录下指定后缀名的文件名称案例(File类的文件过滤器方法改进list( FilenameFilter ff))
- 【Java】Java基础知识3. tip21~30
- Java基础知识10
- JAVA 基础知识学习10
- java基础知识10(TCP:客户端并发上传图片)