1、什么是类成员?什么是实例成员?
类成员:用关键字static进行修饰的成员变量
实例成员:不用关键字static进行修饰的成员变量
类(class)和实例成员(object)是两种以计算机为载体的计算机语言的合称。实例成员是对客观事物的抽象,类是对实例成员的抽象。类是一种抽象的数据类型。
它们的关系是,对象是类的实例,类是对象的模板。实例成员是通过new classname产生的,用来调用类的方法;类的构造方法
2、什么是包?它有什么作用?
包:Java语言有效地管理类的一个机制
作用:有效地区分名字相同的类
为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。
把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。
3、什么是jar文件?
jar包就是别人已经写好的一些类,然后将这些类进行打包,你可以将这些jar包引入你的项目中,然后就可以直接使用这些jar包中的类和属性以及方法。
4、java程序中如何实现访问权限控制?
通过使用关键字private、protected和public修饰
5、组合编程的原理是什么?
复合类型的引用
6、什么是接口?如何完成接口回调?
Java语言中重要的数据类型
用接口变量调用实现了接口的类的接口方法的过程
7、面向对象编程是如何实现继承的?继承的优点和缺点分别是什么?
通过关键字extends实现继承
优点:实现了代码的复用
缺点:不支持多重继承
8、java程序设计中如何使用关键字:static、abstract、final?
static 修饰符
• 静态变量:
static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。
• 静态方法:
static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。
对类变量和方法的访问可以直接使用 classname.variablename 和 classname.methodname 的方式访问
abstract 修饰符
抽象类:
抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。
一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。
抽象类可以包含抽象方法和非抽象方法。
final 修饰符
final 变量:
final 表示"最后的、最终的"含义,变量一旦赋值后,不能被重新赋值。被 final 修饰的实例变量必须显式指定初始值。
final 修饰符通常和 static 修饰符一起使用来创建类常量。
9、java中有一些特殊的类的定义形式,它们分别是指什么?
内部类、匿名类。
内部类指的是在一个类中定义的类, 该类只能通过外层类来访问.
匿名类指的是直接使用new 创建的类, 在花括号编写类体, 匿名类常用于直接实现一个接口.
10、什么是javaAPI文档?(要学会使用它)
JavaAPI文档是java的基本功能帮助文档, 包含java所有的特性.
11、Math类中主要是一些什么内容?,它们有些什么特点?
进行科学计算的static方法和静态常量
他们都是通过类进行调用
在 Java 中 Math 类封装了常用的数学运算,提供了基本的数学操作,如指数、对数、平方根和三角函数等。Math 类位于 java.lang 包.
12、String类和StringBuilder类各有什么特点?
String类可以直接给它赋值一个字符串,但它内部是“不可变的”;
StringBuilder类可以用于“拼接字符串”,但它内部是“可变的”
String类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象,所以经常改变内容的字符串最好不要用String,因为每次生成对象都会对系统性能产生影响。
StringBuilder又称为可变字符序列,它是一个类似于String的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。即它是一个容器,容器中可以装很多字符串,并且能够对其中的字符串进行各种操作。它的内部拥有一个数组用来存放字符串内容,进行字符串拼接时,直接在数组中加入新内容,StringBuilder会自动维护数组的扩容。
13、什么叫包装类?java语言中有哪些包装类?
包装类 即Wrapper Class,对基本数据类型进行封装得到的类
eg:Integer、Character、Byte、Short、Boolean、Float 、Double 、Long
14、什么是Object类?它包含有哪些方法?
父类,基类
方法:getClass、toString、equals
Object是java所有类的基类,是整个类继承结构的顶端,也是最抽象的一个类。
方法有:
toString()
equals()
hashCode()
clone()
等…
15、System类的主要功能有哪些?怎么使用?请举例说明。
System作为系统类,在JDK的Java.lang包中,可见它也是一种java的核心语言特性。System类的构造器由private修饰,不允许被实例化。因此,类中的方法也都是static修饰的静态方法。
16、程序错误有哪几类?Java语言的异常处理机制由哪几部分构成?
检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
• 运行时异常: 运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
• 错误: 错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们在编译也检查不到的。
题库练习: