初始值的区别:1〕成员变量有默认的初始值:int 0double 0.0float 0.0f;char ' 'String nullboolean false2〕局部变量[1]没有默认的初始值,要先初始化才能使用。46请简述类与对象之间的关系。答案:类是同一种类型对象的抽象,它用于描述一组对象的共同特征和行为。面向对象的编程思想力图在程序中对事物的描述与该事物在现实中的形态保持一致。为了做到这一点,面向对象的思想中提出两个概念,即类和对象。其中,类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。47请简要说明使用封装的好处。答案:1.提高了数据的平安性。2.隐藏了实现细节。3.操作简单、方便。49请阅读下面的程序,在空白处填写正确的代码,定义一个无参构造方法。public class Person (public ____() {)}答案:Person解析:在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法,具体如下:构造方法的定义需要同时满足三个条件,具体如下:1:方法名与类名相同2:在方法名的前面没有返回值类型的声明3:在方法中不能使用return语句返回一个值因此,只需在横线处填写Person即可。50请简述构造方法的特点。答案:1.构造方法名与类名相同2.在构造方法名的前面没有返回值类型的声明3.在构造方法中不能使用return语句返回一个值51请简要说明什么是构造方法重载。答案:与普通方法一样,构造方法也可以重载,在一个类中可以定义多个构造方法,只要每个构造方法的参数类型或参数个数不同即可。52阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果并分析出现此结果的原因。否那么请说明编译失败的原因。class Cat(void mi( ) throws NullPointerException{System.out.println( "Cat mi mi .. " );)}public class SmallCat extends Cat(void mi( ) throws Exception{System.out.println( "SmallCat mi mi .. " );)public static void main( String[] a ) throws Exception(Cat cat = new SmallCat();cat.mi();)}答案:程序编译失败。在子类[2]中,如果要覆盖父类的一个方法,而父类中的方法声明了throws异常,那么子类的方法也可以抛出异常,但切记子类方法抛出的异常只能是父类方法抛出的异常的同类或子类,而不能是父类。53在横线处填入正确的代码,可以让局部变量的age给成员变量的age赋值。class Person (int age;public Person(int age) {______________/让局部变量的age给成员变量的age赋值)public int getAge() (return this.age;)}答案:this.age = age;54阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果并分析出现此结果的原因。否那么请说明编译失败的原因。public class Example (public static void main(String[] args) {try {System.out.println(4 / 0);System.out.println("程序没有异常");) catch (Exception e) (System.out.println("程序发生异常");return;) finally (System.out.println("finally语句执行");)}}答案:程序发生异常finally语句执行解析:try语句中存放可能发生异常的语句,catch语句用于对异常进行处理,finally中的语句表示一定会被执行的语句。在进行4/0运算时,程序发生了除0异常,catch语句捕获异常执行并输出“程序发生异常〞,此时在catch语句中还有一个return语句,但是这并不会影响finally语句的正常运行,程序仍然输出“finally语句执行〞,除非在catch语句中执行System.exit(0);退出虚拟机,finally语句才不执行。55简述抽象类[3]和接口的区别?答案:在Java中,使用abstract关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。抽象类通常用于表示一种抽象的概念。接口可以说是一种特殊的抽象类,接口中只能定义常量[4]和抽象方法。由于接口的特殊性,在定义时需要使用interface关键字。56阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否那么请说明编译失败的原因。public class Outer (public String name="Outer";private class Inner {String name="inner";void showName(){System.out.println(name);)}public static void main(String[] args) (Inner inner = new Outer().new Inner();System.out.println(inner.name);)}答案:程序能够编译通过,运行的结果为“inner〞57构造方法和普通的成员方法有什么区别?答案:构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。解析:58阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否那么请说明编译失败的原因。public class Demo (public static void main(String[] args) {new Object(){public void show(){System.out.println("helloworld");)}.show();}} 答案:helloworld解析:匿名内部类继承了Object类,并自定义了一个show()方法,* 使用匿名内部类调用show()方法,调用的是子类也就是匿名内部类自身的show()方法,* 编译和运行均能正常进行,因此打印输出了helloworld60请简要概述try…catch语句中,try和catch的作用答案:try中编写被检查可能出现异常的代码,catch用于抓住或者不捕获异常,并处理异常解析:61简述thorws的作用答案:throws总是出现在一个函数头中,用来标明该成员函数可能抛出的各种异常。对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的类型。如果异常的类型是Error或 RuntimeException, 或它们的子类,这个规那么不起作用, 因为这在程序的正常局部中是不期待出现的。 如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型解析:Throws用于声明方法抛出异常,如果是RuntimeException,可以不用抛出。但是如果是编译异常,必须使用throws抛出62运行时异常的特点是?答案:运行时异常的特点是Java编译器不会对其进行检查解析:RuntimeException类及其子类都是运行时异常。运行时异常的特点是Java编译器不会对其进行检查,也就是说,当程序中出现这类异常时,即使没有使用try..catch语句捕获或使用throws关键字声明抛出,程序也能编译通过63简要概述,当用final修饰符修饰类、变量和方法时,被修饰者有哪些特性答案:final关键字可用于修饰类、变量和方法,它有“这是无法改变的〞或者“最终〞的含义,因此被final修饰的类、变量和方法将具有以下特性:1、final修饰的类不能被继承。2、final修饰的方法不能被子类重写。3、final修饰的变量〔成员变量和局部变量〕是常量,只能赋值一次。64请简述Java中继承的概念以及使用继承的好处答案:概念:在Java中,类的继承是指在一个现有类的根底上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。好处:继承性主要描述的是类与类之间的关系,通过继承,可以无需重新编写原有类的情况下,对原有类的功能进行使用和扩展。65请简要说明单例设计模式[5]的实现步骤。答案:1) 使用private关键字私有化构造方法;2) 在类的内部创立一个该类的实例对象,并使用私有的静态变量引用该对象;3) 为了让类的外部能够获得类的实例对象,需要定义一个公有的静态方法,用于返回该类实例。66请问将一个类设计成单例设计模式(饿汉式),需要哪些步骤?答案:1.私有构造函数[6]2.创立私有的静态的本类对象3.对外提供公有的静态的返回值类型为本类的方法1以下关于ServerSocket类的说法,错误的选项是?〔 〕A、 ServerSocket类是被final关键字修饰的类,因此没有子类B、 ServerSocket类用于表示效劳器端C、 ServerSocket类中的accept()方法会阻塞D、 创立ServerSocket对象时可以指定需绑定到的端口 答案:A
初始值的区别:
1〕成员变量有默认的初始值:
int 0
double 0.0
float 0.0f;
char ' '
String null
boolean false
2〕局部变量[1]没有默认的初始值,要先初始化才能使用。
46请简述类与对象之间的关系。
答案:类是同一种类型对象的抽象,它用于描述一组对象的共同特征和行为。
面向对象的编程思想力图在程序中对事物的描述与该事物在现实中的形态保持一致。为了做到这一点,面向对象的思想中提出两个概念,即类和对象。其中,类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。
47请简要说明使用封装的好处。
答案:1.提高了数据的平安性。2.隐藏了实现细节。3.操作简单、方便。
49请阅读下面的程序,在空白处填写正确的代码,定义一个无参构造方法。
public class Person {
public ____() {}
}答案:Person
解析:在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法,具体如下:
构造方法的定义需要同时满足三个条件,具体如下:
1:方法名与类名相同
2:在方法名的前面没有返回值类型的声明
3:在方法中不能使用return语句返回一个值
因此,只需在横线处填写Person即可。
50请简述构造方法的特点。
答案:1.构造方法名与类名相同2.在构造方法名的前面没有返回值类型的声明3.在构造方法中不能使用return语句返回一个值
51请简要说明什么是构造方法重载。
答案:与普通方法一样,构造方法也可以重载,在一个类中可以定义多个构造方法,只要每个构造方法的参数类型或参数个数不同即可。
52阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果并分析出现此结果的原因。否那么请说明编译失败的原因。
class Cat{
void mi( ) throws NullPointerException{
System.out.println( "Cat mi mi .. " );
}
}
public class SmallCat extends Cat{
void mi( ) throws Exception{
System.out.println( "SmallCat mi mi .. " );
}
public static void main( String[] a ) throws Exception{
Cat cat = new SmallCat();
cat.mi();
}
}
答案:程序编译失败。在子类[2]中,如果要覆盖父类的一个方法,而父类中的方法声明了throws异常,那么子类的方法也可以抛出异常,但切记子类方法抛出的异常只能是父类方法抛出的异常的同类或子类,而不能是父类。
53在横线处填入正确的代码,可以让局部变量的age给成员变量的age赋值。
class Person {
int age;
public Person(int age) {
______________//让局部变量的age给成员变量的age赋值
}
public int getAge() {
return this.age;
}
}
答案:
this.age = age;
54阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果并分析出现此结果的原因。否那么请说明编译失败的原因。
public class Example {
public static void main(String[] args) {
try {
System.out.println(4 / 0);
System.out.println("程序没有异常");
} catch (Exception e) {
System.out.println("程序发生异常");
return;
} finally {
System.out.println("finally语句执行");
}
}
}
答案:程序发生异常
finally语句执行
解析:try语句中存放可能发生异常的语句,catch语句用于对异常进行处理,finally中的语句表示一定会被执行的语句。在进行4/0运算时,程序发生了除0异常,catch语句捕获异常执行并输出“程序发生异常〞,此时在catch语句中还有一个return语句,但是这并不会影响finally语句的正常运行,程序仍然输出“finally语句执行〞,除非在catch语句中执行System.exit(0);退出虚拟机,finally语句才不执行。
55简述抽象类[3]和接口的区别?
答案:在Java中,使用abstract关键字修饰的类称之为抽象类。抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。抽象类通常用于表示一种抽象的概念。接口可以说是一种特殊的抽象类,接口中只能定义常量[4]和抽象方法。由于接口的特殊性,在定义时需要使用interface关键字。
56阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否那么请说明编译失败的原因。
public class Outer {
public String name="Outer";
private class Inner {
String name="inner";
void showName(){
System.out.println(name);
}
}
public static void main(String[] args) {
Inner inner = new Outer().new Inner();
System.out.println(inner.name);
}
}
答案:程序能够编译通过,运行的结果为“inner〞
57构造方法和普通的成员方法有什么区别?
答案:构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。而普通方法只有在使用的时候才会被调用。在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。
解析:
58阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否那么请说明编译失败的原因。
public class Demo {
public static void main(String[] args) {
new Object(){
public void show(){
System.out.println("helloworld");
}
}.show();
}
} 答案:helloworld解析:匿名内部类继承了Object类,并自定义了一个show()方法,
* 使用匿名内部类调用show()方法,调用的是子类也就是匿名内部类自身的show()方法,
* 编译和运行均能正常进行,因此打印输出了helloworld
60请简要概述try…catch语句中,try和catch的作用
答案:try中编写被检查可能出现异常的代码,catch用于抓住或者不捕获异常,并处理异常
解析:
61简述thorws的作用
答案:throws总是出现在一个函数头中,用来标明该成员函数可能抛出的各种异常。对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的类型。如果异常的类型是Error或 RuntimeException, 或它们的子类,这个规那么不起作用, 因为这在程序的正常局部中是不期待出现的。 如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型
解析:Throws用于声明方法抛出异常,如果是RuntimeException,可以不用抛出。但是如果是编译异常,必须使用throws抛出
62运行时异常的特点是?
答案:运行时异常的特点是Java编译器不会对其进行检查
解析:RuntimeException类及其子类都是运行时异常。运行时异常的特点是Java编译器不会对其进行检查,也就是说,当程序中出现这类异常时,即使没有使用try..catch语句捕获或使用throws关键字声明抛出,程序也能编译通过
63简要概述,当用final修饰符修饰类、变量和方法时,被修饰者有哪些特性
答案:final关键字可用于修饰类、变量和方法,它有“这是无法改变的〞或者“最终〞的含义,因此被final修饰的类、变量和方法将具有以下特性:
1、final修饰的类不能被继承。
2、final修饰的方法不能被子类重写。
3、final修饰的变量〔成员变量和局部变量〕是常量,只能赋值一次。
64请简述Java中继承的概念以及使用继承的好处
答案:概念:在Java中,类的继承是指在一个现有类的根底上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。
好处:继承性主要描述的是类与类之间的关系,通过继承,可以无需重新编写原有类的情况下,对原有类的功能进行使用和扩展。
65请简要说明单例设计模式[5]的实现步骤。
答案:1) 使用private关键字私有化构造方法;2) 在类的内部创立一个该类的实例对象,并使用私有的静态变量引用该对象;3) 为了让类的外部能够获得类的实例对象,需要定义一个公有的静态方法,用于返回该类实例。
66请问将一个类设计成单例设计模式(饿汉式),需要哪些步骤?
答案:1.私有构造函数[6]2.创立私有的静态的本类对象3.对外提供公有的静态的返回值类型为本类的方法
1以下关于ServerSocket类的说法,错误的选项是?〔 〕
- A、 ServerSocket类是被final关键字修饰的类,因此没有子类
- B、 ServerSocket类用于表示效劳器端
- C、 ServerSocket类中的accept()方法会阻塞
- D、 创立ServerSocket对象时可以指定需绑定到的端口 答案:A
题目解答
答案
答案:D解析:正是由于UDP的面向无连接性,不能保证数据的完整性,因此在传输重要数据时不建议使用UDP协议。