1. 简述java中两种实现多态的方法 答:重载和覆盖
2. 简述this 和supper 的区别
答:this 用来访问本类的成员变量和成员方法,一般在以下情况下使用this (1)、通过this 调用另一个构造方法。(2)、在函数中,需要引用该函数所属类的当前对象时,直接用this。
而supper 是用在子类中,目的是访问父类的成员方法和成员变量,一般在以下情况下使用supper (1)、在子类构造方法中要调用父类的构造方法,用”supper(参数列表)”的方式调用。(2)、当子类局部变量覆盖父类成员变量时,用”supper.成员变量名”来引用父类成员变量。
3. 构造方法和普通方法有什么区别 答:与一般方法相比,构造方法的特点是:
1、构造函数的名称总是和它的类名一致。2、构造函数没有返回值,即不可以为它指定任何类型的返回值,包括void..3、在构造函数的第一条语句中,可以调用同类的另一个构造函数或者父类的构造函数。4、构造函数不能由编程人员显式的直接调用。5、构造函数的主要作用是完成对类对象的初始化。 4. java 标识符命名规则
答:1、第一个字符必须是字母,其他字符则可以是任意的文字,数字或标点符号的组合。2、标识符不能包含%和#,但可以包含¥和_。3、标识符不能包含空格。4、标识符识别大小写。5、标识符不能使用关键字。 5..简述java语言特点
答:java语言的特点主要表现在简单、面向对象、自动的内存管理、分布计算、稳定、安全、解释执行、结构中立、平滑移植、多线程以及异常处理等方面。 6..java类设计的基本原则
答:1、开闭原则 2、依赖倒装原则 3、里氏代换原则 4、合成/聚合复用原则 7.面向对象思想中几个重要概念
答:对象、分类、继承、通过消息的通信 8.什么叫方法重载?构造方法可以重载吗?
答:同一个类中的2个或2个以上的方法可以一同一个名字,只是它们的参数声明不同即可,在这种情况下,该方法就被称为重载,这个过程称为方法重载。构
造方法可以重载。
9.说明类变量和实例变量的区别
答:1、实例变量没有static 修饰符,它只能通过实例对象来访问,而类变量直接通过类名来访问。2、同一类的不同实例对象有自己的实例变量,但是它们共享同一个类变量。当一个实例对象修改了它的实例变量时,不会影响其他的实例对象。但当一个实例对象修改了类变量时,则会影响其他的对象实例。而类变量则是一个完全变。3、类变量则在使用前进行初始化,实例变量则不需要。 10.什么类中可以有abstract 方法 答:抽象类中。
11.Java Application 和Java Applet程序的主要区别是什么?
答:1、JavaApplication可以独立运行;Java Applet 不能独立运行,但可以使用appletviewer 或其他支持Java的浏览器运行。2、Java Applet中没有main()方法。
12.Java和C++语言的不同主要包括:
答案:1、全局变量;2、结构、枚举和联合数据类型;3、作用范围运算符“::“;4、数据类型的支持;5、数组;6、类型转换;7、内存空间的分配;8、提前声明;9、预处理;10、头文件;11、指针;12、goto语句;
12.Eclipse 的特点是什么?
答:1、开放的开发平台。2、强大的插件扩展机制和插件加载功能。是其最突出的特点和优势。
13.Java中基本数据类型有哪些?
答:byte、short、int、long、float、double、char、boolean。 14、简述while语句和do-while语句的特点与区别
答:while语句的特点是先判断表达式后,执行循环体。如果一开始while循环的布尔表达式的值是false,那么循环体根本就不执行。
Do-while语句先执行循环体,然后判断循环条件是否成立,因此总是执行它的循环体至少一次。
15、java程序中控制程序跳转的语句有哪些?在程序中有何作用?
答:continue的功能和break有点类似,区别是continue只是终止本次循环,回到循环条件处,判断是否执行下一次循环。而break则是完全终止循环。可以理解为continue的作用是略过当前循环中剩下的语句,重新开始新的循环。
16、简述throw和throws的区别
答:throw是语句抛出一个异常,throws是方法抛出一个异常;throw不能单独使用,不是和try-catch-finally配套使用,就是与throws配套使用,但throws可以单独使用,然后再由异常处理的方法捕获。
17、Error和Exception的区别
答:Error表示系统级的错误和不必处理的异常,Exception表示需要捕获或者需要程序进行程序处理的异常。
18、sleep()和wait()有什么区别
答:sleep()方法是使线程停止一段时间的方法。在sleep时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其他线程可能正在运行而且没有被调度为放弃执行
wait()是线程交互时,如果线程对一个同步对象发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到,
二、编程题
1、1到100之间奇数的和
public class Test1 {
public static void main(String[] args) {
int i,sum=0; for(i=1;i<=100;i++)
} }
{if(i%2==1)
sum+=i;}
System.out .println(\到100之间奇数的和是:\
2、编写程序读入整数并求出他们的最大值和最小值(不包括0)输入0时结束程序
import java.io.*; public class Test2 {
public static void main(String[] args) throws IOException {
InputStreamReader in=new InputStreamReader(System.in); BufferedReader bin=new BufferedReader(in); int k,max=0,min=100;
System.out.println(\请输入一个整数赋给k\ k=Integer.parseInt(bin.readLine()); while(k!=0) { if(k>max) max=k; if(k System.out.println(\请输入一个整数赋给k\ k=Integer.parseInt(bin.readLine());} System.out.println(\ System.out.println(\} } 7、 编写一个学生类,描述学生的学号、姓名、成绩。编写一个测试类,输入学生的学号和成绩,并显示该学生姓名以及成绩。 public class Student { String name; String sno; String score; public Student( String name, String sno, String score){ this.name=name; this.sno=sno; this.score=score; } public String getName(){ return this.name;} public void setSno(String sno){ this.sno=sno;} public void setScore(String score){ this.score=score;} public String toString(){ return \姓名:\学号: \成绩: \ } } 8 编写一个类,描述汽车,其中字符型数据描述车牌号,用浮点型描述车价格。编写一个测试类,其中有一个修改价格的方法,对汽车对象进行操作,根据折扣数修改汽车的价格,最后在main方法中输出修改后的汽车信息。 import java.io.*; class Car { double price; String cname; public double discount; public Car(String cname,double price,double discount){ this.price=price; this.cname=cname; this.discount=discount; } public double Price(){ return this.price;} public void setCname(String cname){