1、java简答题1. 简述java中两种实现多态的方法答:重载和覆盖2. 简述this 和supper 的区别答:this 用来访问本类的成员变量和成员方法,一般在以下情况下使用this (1)、通过this 调用另一个构造方法。(2)、在函数中,需要引用该函数所属类的当前对象时,直接用this。而supper 是用在子类中,目的是访问父类的成员方法和成员变量,一般在以下情况下使用supper (1)、在子类构造方法中要调用父类的构造方法,用”supper(参数列表)”的方式调用。(2)、当子类局部变量覆盖父类成员变量时,用”supper.成员变量名”来引用父类成员变量。3. 构造方法和普通方法
2、有什么区别答:与一般方法相比,构造方法的特点是:1、 构造函数的名称总是和它的类名一致。2、构造函数没有返回值,即不可以为它指定任何类型的返回值,包括void.3、在构造函数的第一条语句中,可以调用同类的另一个构造函数或者父类的构造函数。4、构造函数不能由编程人员显式的直接调用。5、构造函数的主要作用是完成对类对象的初始化。4. java 标识符命名规则答:1、第一个字符必须是字母,其他字符则可以是任意的文字,数字或标点符号的组合。2、标识符不能包含%和#,但可以包含¥和_。3、标识符不能包含空格。4、标识符识别大小写。5、标识符不能使用关键字。5.简述java语言特点答:java语言的特点主
3、要表现在简单、面向对象、自动的内存管理、分布计算、稳定、安全、解释执行、结构中立、平滑移植、多线程以及异常处理等方面。6.java类设计的基本原则答:1、开闭原则 2、依赖倒装原则 3、里氏代换原则 4、合成/聚合复用原则7.面向对象思想中几个重要概念答:对象、分类、继承、通过消息的通信8.什么叫方法重载?构造方法可以重载吗?答:同一个类中的2个或2个以上的方法可以一同一个名字,只是它们的参数声明不同即可,在这种情况下,该方法就被称为重载,这个过程称为方法重载。构造方法可以重载。9.说明类变量和实例变量的区别答:1、实例变量没有static 修饰符,它只能通过实例对象来访问,而类变量直接通过类
4、名来访问。2、同一类的不同实例对象有自己的实例变量,但是它们共享同一个类变量。当一个实例对象修改了它的实例变量时,不会影响其他的实例对象。但当一个实例对象修改了类变量时,则会影响其他的对象实例。而类变量则是一个完全变。3、类变量则在使用前进行初始化,实例变量则不需要。10.什么类中可以有abstract 方法答:抽象类中。11.Java Application 和Java Applet程序的主要区别是什么?答:1、JavaApplication可以独立运行;Java Applet 不能独立运行,但可以使用appletviewer 或其他支持Java的浏览器运行。2、Java Applet中没有
5、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语句
6、的特点是先判断表达式后,执行循环体。如果一开始while循环的布尔表达式的值是false,那么循环体根本就不执行。 Do-while语句先执行循环体,然后判断循环条件是否成立,因此总是执行它的循环体至少一次。15、java程序中控制程序跳转的语句有哪些?在程序中有何作用?答:continue的功能和break有点类似,区别是continue只是终止本次循环,回到循环条件处,判断是否执行下一次循环。而break则是完全终止循环。可以理解为continue的作用是略过当前循环中剩下的语句,重新开始新的循环。16、简述throw和throws的区别答:throw是语句抛出一个异常,throws是方法
7、抛出一个异常;throw不能单独使用,不是和try-catch-finally配套使用,就是与throws配套使用,但throws可以单独使用,然后再由异常处理的方法捕获。17、Error和Exception的区别答:Error表示系统级的错误和不必处理的异常,Exception表示需要捕获或者需要程序进行程序处理的异常。18、sleep()和wait()有什么区别答:sleep()方法是使线程停止一段时间的方法。在sleep时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其他线程可能正在运行而且没有被调度为放弃执行wait()是线程交互时,如果线程对一个同步对象发出一个wait(
8、)调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到,二、编程题1、1到100之间奇数的和public class Test1 public static void main(String args) int i,sum=0; for(i=1;imax) max=k; if(kmin) min=k; System.out.println(请输入一个整数赋给k); k=Integer.parseInt(bin.readLine(); System.out.println(max=+max); System.out.println(min=+min);7、 编写一个学生类,描述学
9、生的学号、姓名、成绩。编写一个测试类,输入学生的学号和成绩,并显示该学生姓名以及成绩。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 vo
10、id setScore(String score) this.score=score;public String toString() return 姓名:+name+ 学号: +sno+ 成绩: +score; 8 编写一个类,描述汽车,其中字符型数据描述车牌号,用浮点型描述车价格。编写一个测试类,其中有一个修改价格的方法,对汽车对象进行操作,根据折扣数修改汽车的价格,最后在main方法中输出修改后的汽车信息。import java.io.*; class Car double price; String cname; public double discount; public Car(S
11、tring cname,double price,double discount) this.price=price; ame=cname; this.discount=discount; public double Price() return this.price; public void setCname(String cname) ame=cname; public void setDiscount(double discount) this.discount=discount; public void Xprice() double Sprice; System.out.printl
12、n(车名=+cname); System.out.println(这部车现在打折期间); Sprice=price*discount; System.out.println(这部车打折后的价格是+ Sprice); public class TestCar public static void main(String args) throws IOException Car car =new Car(奥迪,100,0.1); car .Xprice(); 9 写出一个point(点)类,该类具有x,y(表示点的横纵坐标)两个属性,定义一个构造方法,以坐标为参数,设置x,y为给定坐标值,定义一个
13、show方法输出该点的坐标值。public class Point private double x; private double y;public Point(double x,double y) this.x=x; this.y=y;public void show() System.out.println(+x+,+y+);public class TestPoint() public static void main(String args) Point point=new Point(4,6);System.out.println(point.show();10设计一个学生类,其中
14、成员变量有:学号,姓名,性别,班级,并提供方法打印学生信息,和计算已经创建学生对象的数目。编写一个程序测试这个类。 class Test String name; String sno; String sclass; char sex; public Test( String name, String sno, String sclass, char sex) this.name=name; this.sno=sno; this.sclass=sclass; this.sex=sex; public String getName() return this.name;public void s
15、etSno(String sno) this.sno=sno;public void setScore(String sclass) this.sclass=sclass;public void setScore(char sex) this.sex=sex;public void PrintStudent() System.out.println(姓名:+name+ 学号: +sno+ 班级:+sclass+ 性别: +sex); public class TestTest3 public static void main(String args) Test aStu=new Test(张扬
16、,1023080131,软件1班,男); aStu.PrintStudent(); 11 设计一个关于三角形的类Trival,其中的属性包括三角形的底di,三角形的高gao,方法包括为di和gao指定初值的构造方法,获取三角形的面积find Area().public class Trival protected float di,gao; public Trival() di=0; gao=0; public Trival(float di,float gao) this.di=di; this.gao=gao; public float findArea() return (this.di
17、*this.gao)/2; public static void main(String args) Trival t1=new Trival(3.5f,6.6f); System.out.println(三角形的面积为:+t1.findArea();12 编写一类,描述桌子,包括属性:长、宽、高、颜色。并且使盖类具有功能:在定制桌子(及创建对象时),就可以同时指定桌子的长宽高来定制。也可以同时指定桌子的长宽高颜色来定制。也可以单独指定颜色定制。并编写一个测试类测试这几种方法。 class Test44 double length; double width; double height; S
18、tring color; Test44(double l,double w,double h) length=l;width=w;height=h; Test44(double l,double w,double h,String c) length=l;width=w;height=h;color=c; Test44(String c) color=c; public class Test4 public static void main(String args) Test44 d1=new Test44(2,1.5,0.6); System.out.println(第一个桌子的长,宽,高分
19、别为:+d1.length+ +d1.width+ +d1.height); Test44 d2=new Test44(2,1.5,0.6,red); System.out.println(第二个桌子的长,宽,高,颜色分别为:+d2.length+ +d2.width+ +d2.height+ +d2.color); Test44 d3=new Test44(green); System.out.println(第三个桌子颜色为:+d3.color+色); 13、输出一个九九乘法表public class TestNumpublic static void main(String args)i
20、nt i,j,n=9;System.out.print ( * |); for(i=1;i=n;i+) System.out.print ( +i); System.out.print (n-|);for(i=1;i=n;i+) System.out.print (-);System.out.println();for(i=1;i=n;i+) System.out.print( +i+ |);for(j=1;j=i;j+) System.out.print( +i*j);System.out.println();14 电力公司的电费计算标准如下:200度以下,0.65元/度;200500度,1
21、元/度;超过500度,1.5元/度;编写程序实现输入一用电度数,计算电费并输出电费值。import java.io.*;public class Test5 public static void main(String args) throws IOException double power; double pay; InputStreamReader in=new InputStreamReader(System.in); BufferedReader bin=new BufferedReader(in); System.out.println(请输入用电度数); power=Intege
22、r.parseInt(bin.readLine(); if(power200) pay=power*0.65; else if(power500) pay=power*1; else pay=power*1.5; System.out.println(电费为:+pay);15、编程实现通过相应鼠标事件来实现拖动鼠标简单的画画功能import java.awt.*import java.applet.*import java.awt.event.*public class m2 extends Applet implements MouseMotionListenerint x=0,y=0;pu
23、blic void init()setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);setBackground(Color.green);add MouseMotionListener(this);public void paint(Graphics g) if(x!=0&y!=0) g.setColor(Color.red); g.drawLine(x,y ,x,y);public void Dragged(MouseEvent e) X=(int)e.getX(); y=(int)e.getY(); repaint();public void mouseMoved(MouseEvent e)public void update(Graphics g)paint(g);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1