二、编写程序题
1、按以下要求编写程序
(1) 创建一个Rectangle类,添加width和height两个成员变量
(2) 在Rectangle中添加两种方法分别计算矩形的周长和面积
(3) 编程利用Rectangle输出一个矩形的周长和面积
public class Rectangle{
    double width;
        double length;
   
    public Rectangle(){
        this.width=width;
        this.length=length;
    }
    public double zhouzhang(){
        return (width+length)*2;
    }   
    public double mianji(){
        return width*length;
    }
    public static void main(String[] args){
        Rectangle R=new Rectangle();
        System.out.println("周长为:"+R.zhouzhang());
        System.out.println("面积为:"+R.mianji());
    }
}
运行结果:
周长为:0.0
面积为:0.0
2、按以下要求编写程序
(1) 编写Animal接口,接口中声明run() 方法
(2) 定义Bird类和Fish类实现Animal接口
(3) 编写Bird类和Fish类的测试程序,并调用其中的run()方法
3、设计类A和A的派生类B,要求:
1)A有两个数据成员a和b(都为int型);B中继承了A中的a和b,又定义了自己的数据成员c(int型)。
2)为A添加含有两个参数的构造方法,对a和b初始化。
java接口有没有构造方法
3)为B添加含有一个参数的构造方法,对c初始化。
4)完成主控方法,在主控方法中用B e1=new B
5)创建对象,把a、b、c分别初始化成3、4、5,最后输出它们的和。 
三、简答题
1、简述Java中异常处理的机制?
1. try  catch(先小后大)  finally
2.      声明抛出异常:throws
3.      手动抛出异常:throw
4.      自定义异常
a)        extends  Exception或者他的子类
2、什么是继承?
  通过继承实现代码复用。Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方法。子类可以重写父类的方法,及命名与父类同名的成员变量。但Java不支持多重继承
3、请简述重载和重写的区别?
重写是子类的方法覆盖父类的方法,要求方法名和参数都相同
重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数
4、abstract class和interface有什么区别?
声明方法的存在而不去实现它的类被叫做抽象类abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
5、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类?  为什么?
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。抽象类是可以继承具体类。抽象类中可以有静态的main方法。
6、启动一个线程是用run()还是start()?
启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。
7、数组有没有length()这个方法? String有没有length()这个方法? 该方法的功能是什么?
数组没有length()这个方法,有length的属性。String有length()这个方法。
8、String是最基本的数据类型吗? String可以被继承吗?
String类是final类型的,因此不可以继承这个类、不能修改这个类
9、面向对象的特征有哪些方面?简述每个特征。
1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4. 多态性多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性
和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
10、int 和 Integer 有什么区别?
int是JAVA的一个基本类型,而Integer是JAVA的一个类,对应 int。因为在某些地方不可以用int而要用Integer。而且基本类型运算的速度也要快。
int 是变量的基本类型
Integer 是int的外覆类型
11、String 和StringBuffer的区别?
STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法
使用 StringBuffer 主要就是在性能上的考虑。 String 是一种非常常用的数据类型,但由于
String 是不可变对象,在进行 String 的相关操作的时候会产生许多临时的 String 对象。而 StringBuffer 在操作上是在一个缓冲中进行的,性能当然优越得多。不过,一般做为简单的字符串传递和其它操作,只不要改变字符串内容的操作,用 String 效率会高一些。
12、是否可以继承String类?
String类是final类故不可以继承。
13、简述Java多态性的概念,隐藏、覆盖和重载的概念及使用时应注意的问题。
答:多态性:在一个类中可以定义多个同名方法,有静态多态性和动态多态性。 
隐藏:子类重新定义了父类中的同名成员变量。被隐藏的父类成员变量在子类中仍然占有存储空间。 
覆盖:子类重新定义了父类的同名成员方法,要求方法名、参数和返回类型都相同。与隐藏不同,此时子类方法将替换掉同名的父类方法,清除父类方法在子类中占有的空间。 
重载:在同一个类中定义多个同名但参数不同的方法,参数不同是指个数、类型或顺序不
同。 
注意事项: 
不能覆盖父类的static方法和final方法。 
可以隐藏父类的static方法,即在子类中声明同名static方法。 
非Static方法不能隐藏,只能覆盖。 
子类必须覆盖父类的abstract方法。
14、简述Java中接口的概念及接口的性质?
答:Java语言规定,类只能实现单继承,但接口可以实现多重继承。接口中定义的方法都是抽象方法,定义的所有域都是常量。 
因此接口可以看作是没有实现的方法和常量的集合。使用接口主要是解决Java语言不支持多重继承的问题。 
性质:①接口不提供代码重用性。因为接口中的方法都是没有实现的方法,因此所有的方法体都要自己编写。 
②接口可以通过多继承进行扩展。 
③接口不能升级,即提供给用户的接口不能再改变
15、简述Java中构造方法的概念及特点。
答:构造方法:构造方法是一种特殊的方法,用于初始化对象。 
特点:构造方法与类同名,可以有参数 ,也可无参数。 
构造方法没有返回值,在方法前也不需要写void。 
创建对象时,系统自动调用构造方法。 
用户在程序中不能直接调用构造方法,只能通过new操作符调用。 
一个类可以有多个同名构造方法,但参数必须不同。所谓参数不同是指: 
类中可以不定义构造方法,此时Java提供一个默认的无参数构造方法 
16、数组有没有length()这个方法? String有没有length()这个方法?
17、String是最基本的数据类型吗? 
18、面向对象的特征有哪些方面?简述每个特征。
19、int 和 Integer 有什么区别?
20、String 和StringBuffer的区别? 
21、是否可以继承String类?
22、简述Java多态性的概念,隐藏、覆盖和重载的概念及使用时应注意的问题。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。