01 Java高级编程-面向对象高级话题2014
- 格式:ppt
- 大小:1.37 MB
- 文档页数:58
《面向对象程序设计(java)》编程题库(含答案)《面向对象程序设计(Java)》资源文档——深圳职业技术学院《面向对象程序设计(Java)》编程题库(含答案) 1、已知数组a={4,67,32,78,56,13,90,48,22},编程实现求该数组最大值并输出的方法。
2、编写程序实现求0~150之间的奇数的乘积;3、已知类People里含有属性money初值是20,方法void work(int m)实现增加m到money里,定义它的子类ChinaPeople,重写方法void work(int m)实现把增加m到money里(体现汇率变化)。
4、定义接口Worker,有一个方法login()实现打卡功能。
定义该接口实现类ChinaWorker,给出login()的具体实现,只需输出“我来了~~”即可。
5、使用Scanner类实现从键盘输入一句英文,主程序实现把这句英文的单词按照字典顺序排序输出。
6、使用Scanner类实现从键盘输入若干个双精度数,主程序实现把这些数求和输出。
7、定义窗体,窗体上含有两个文本区,一个按钮,实现一个文本区内输入若干个整数,单击按钮后在另一个文本区内显示这些整数中奇数的个数,并输出所有奇数。
8、编写类比如Circle实现模拟圆形,类中封装与圆有关的数据和方法(比如半径和获取面《面向对象程序设计(Java)》资源文档——深圳职业技术学院积),在主方法中定义一个对象,让这个对象操作自己的数据和方法输出相应结果。
9、编写一个类People,含有两个属性String 类型的name和int类型的age,定义一个方法speak()输出这两个属性。
如“我是zhanghua,我今年12了”。
编写People的子类Boy,重写方法speak(),输出“我是男孩,我今年***”。
编写People的子类Girl,重写方法speak(),输出“我是女孩,我叫****“。
编写主类,声明一个People的对象p。
面向对象程序设计(java)题库抽题规范:(1)此题库共75道题,抽8道作为期末考试题。
其中,易8道,较易33道,较难18道,难16道.(2)按题型,第一大题抽4道,每道10分;第二大题抽2道,每道10分;第三大题抽1道,每道20分;第四大题抽1道,每道20分。
(3)按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道)。
一、解答题(共40道,抽4道,每道10分,共40分)1.面向对象有哪三大特征?封装,继承,多态.2.什么是类?(易)类是定义同一类所有对象的变量和方法的蓝图或原型。
3.什么是对象?对象是类的实例;对象是通过new className产生的,用来调用类的方法;类的构造方法 .。
4.类和对象的区别是什么?java中的类是模板,而对象是依据模版产生的实体5.简述Java的封装性,如何在Java中实现封装封装性是指的把代码封装到大括号中,只能访问自己内部的数据,外边的东西访问不了。
实现为加访问权限。
6.构造方法有哪些特点方法名与类名相同,没有返回值,可以有多个重载。
7.构造方法的作用是什么?(较易)初始化对象,就是你new一个类的时候可以很方便的给你的对象里的属性赋值。
8.this在程序中所代表的意思(易)指当前对象9继承的作用是什么?(易)实现代码复用。
10.Java支持多继承吗?(易)不能。
11.子类可以继承父类的哪些成员?(较难)变量和构造方法。
12.简述构造子类对象时子类和父类构造方法执行顺序(较易)先执行父类再执行子类。
13.什么是方法的重载,如何选择被重载的方法?(较易)同一个类中如果同时存在两个以上的方法有同一个名字,在这种情况下,我们说方法被重载了,这个过程被称为重载。
14什么是方法的重写,如何选择被重写的方法?(较难)当同名方法同时存在于子类和父类中时,对于子类来说就是将继承父亲的方法重载写过了,实现功能完全和父类无关。
15.简述重载和覆盖的区别(较易)重载是让同一方法名的方法可以处理和返回不同类型的数据而覆盖是在子类中改写父类的方法16.什么是成员的隐藏?如何访问被隐藏了的父类成员?(较易)在子类对父类的继承中,如果子类的成员变量和父类的成员变量同名,此时称为子类隐藏了父类的成员变量。
java面试题 2014在过去的几年中,Java面试题一直是人们普遍关注的话题。
特别是2014年,Java作为一门广泛应用的编程语言,其相关职位的需求也越来越多。
在这篇文章中,我们将探讨一些2014年Java面试中常见的问题,并给出相应的答案。
问:什么是Java?答:Java是一种高级编程语言,最早由Sun Microsystems开发并在1995年发布。
与其他编程语言相比,Java有平台无关性,这意味着编写的Java程序可以在不同的操作系统上运行。
Java以其安全性、可移植性和面向对象的特性而闻名。
问:Java中的基本数据类型有哪些?答:Java中的基本数据类型包括整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)。
问:什么是面向对象编程?答:面向对象编程是一种编程范式,它将问题看作是一组对象的集合,这些对象之间通过消息传递进行交互。
面向对象编程的核心概念包括封装、继承和多态性。
问:什么是封装?答:封装是面向对象编程的一个重要概念,它将数据和操作数据的方法封装在一个对象中,以实现数据的隐藏和保护。
通过封装,对象的内部状态对外部是不可见的,只能通过对象提供的公共接口进行访问和操作。
问:什么是继承?答:继承是面向对象编程中的另一个重要概念,它允许一个类从另一个类继承属性和方法。
通过继承,子类可以重用父类的代码,并可以在此基础上进行扩展和修改。
问:什么是多态性?答:多态性是指同一个方法名可以在不同的对象上具有不同的行为。
在Java中,多态性可以通过继承和接口实现。
多态性可以增加程序的灵活性和扩展性。
问:什么是Java虚拟机(JVM)?答:Java虚拟机是Java程序的运行环境,它负责将Java字节码(由Java源代码编译而来)解释执行或编译执行。
JVM提供了内存管理、垃圾回收和安全等功能,使得Java程序可以在不同的平台上运行。
抽象类的基本概念前面对类的继承进行了初步的讲解,通过继承可以从原来的类中派生出新的类。
原有的类称为基类或父类,而新的类则称为子类或者派生类,通过继承机制,派生出的新类不仅可以保留原有类的功能,而且还可以拥有更多的功能。
除了上述机制,在Java中也可以创建一种类专门用来作为父类,这种类称为“抽象类”。
抽象类的作用类似“模板”,其目的是要设计者依据它的格式来修改并创建新的类,但是并不能直接由抽象类创建模板,只能通过抽象类派生出新的类,然后再由子类进行创建对象。
但是抽象类的使用同样存在单继承的局限,即一个子类只能继承一个抽象类。
抽象类的定义及使用规则:包含一个抽象方法的类必须是抽象类;抽象类和抽象方法都要使用abstract关键字声明;抽象方法只需声明而不需要实现;抽象类必须被子类继承,子类(如果不是抽象类)必须覆写抽象类中的全部抽象方法。
【定义一个抽象类】abstractclass A {publicstaticfinal String FLAG="zhao";private String name = "zhaoxe";public String getName(){return name;//取得姓名}publicvoid setName(){ = name;//设置姓名}publicabstractvoid print();//定义抽象方法}在A类中,以为定义类print()的抽样方法,所以此类必须声明为抽象类。
子类必须覆写抽象类中所有的抽象方法:【继承抽象类】abstractclass A {publicstaticfinal String FLAG="zhao";private String name = "zhaoxe";public String getName(){return name;//取得姓名}publicvoid setName(){ = name;//设置姓名}publicabstractvoid print();//定义抽象方法}class B extends A{@Overridepublicvoid print() {System.out.println("flag="+FLAG);System.out.println("姓名:"+super.getName());}}publicclass AbstractDemo02 {publicstaticvoid main(String[] args) {B b=new B();//实例化子类对象b.print();//调用子类覆写过的方法}}运行结果为:从上程序完成了抽象类的基本操作,子类覆写了抽象方法,然后在主方法中通过子类实例化的对象进行方法的调用。
Java面向对象程序设计复习题附答案一、选择题1、下列哪个是Java中的关键字(C)。
A、newdataOutputStream(newFileOutputStream(“out.t某t”));B、newdataOutputStream(“out.t某t”);C、newdataOutputStream(newwriter(“out.t某t”));D、newdataOutputStream(newFileWriter(“out.t某t”));4、在witch(表达式)语句中,表达式的类型不能为(C)。
A、byteB、charC、longD、int5、在接口MoueMotionLitener中方法正确的是(A)。
A、PublicvoidmoueDragged(MoueEvent)B、PublicbooleanmoueDragged(MoueEvent)C、PublicvoidmoueDragged(MoueMotionEvent)D、PublicbooleanMoueDragged(MoueMotionEvent)6、下面是一些异常类的层次关系ng.E某ceptionng.Inde某OutOfBoundE某ceptionng.ArrayInde某OutOfBoundE某ng.StringInde某OutOfBoundE某ception假设有一个方法某,能够抛出两个异常,ArrayInde某和StringInde某异常,假定方法某中没有try-catch语句,下面哪个答案是正确的。
(B)A、方法某应该声明抛弃ArrayInde某OutOfBoundE某ception和StringInde某OutOfBoundE某ception。
B、如果调用某的方法捕获Inde某OutOfBoundE某ception,则ArrayInde某OutOfBoundE某ception和StringInde某OutOfBoundE某ception都可以被捕获。
继承的基本概念现在假设一个Person类,其中包括name和age两个属性,而另外一个Student类,需要包含name和age、school属性。
代码如下:【Person类】class Person{private String name;privateint age;public String getName(){return name;}public void setNmae(String name){=name;}publicintgetAge(){return age;}public void setAge(int age){this.age=age;}}【Student类】class Student{private String name;privateint age;private String school;public String getName(){return name;}public void setName(String name){=name;}publicintgetAge(){return age;}public void setAge(int age){this.age=age;}public void setSchool(String school){this.age=age;}public String getSchool(){return school;}}从上面的代码可以发现Person类中已经有了name和age两个属性及对应的setter和getter 方法,而且Person和Student也属于有关系的类。
因为一个学生肯定是一个人。
所以现在希望可以不用在Student类中再重新声明这两个属性及对应的setter和getter方法,这时就溢出了继承的概念。
在Java中要实现继承类,可以直接使用以下语句来表示:【类的继承格式】class 父类{} //定义父类class子类exteds父类{} //使用extends关键字实现继承下面来进行继承的操作:class Person{private String name;privateint age;public String getName(){return name;}public void setName(String name){=name;}publicintgetAge(){return age;}public void setAge(int age){this.age=age;}}class Student extends Person{private String school;public void setSchool(String school){this.school=school;}public String getSchool(){return school;}}public class ExtDemo2{public static void main(String args[]){Student stu=new Student();stu.setName("张三");stu.setAge(19);stu.setSchool("ZZU");System.out.println("姓名:"+stu.getName()+",年龄:"+stu.getAge()+",学校:"+stu.getSchool());}}运行结果为:从运行结果可以发现,在Student类中并没有定义name和age的相关方法属性,但是通过继承的功能把父类的操作拿到了子类中使用,而且在子类中我们又增加了school属性及其相关的属性和方法。
使用java实现面向对象编程总结第一篇:使用java实现面向对象编程总结第一章:抽象和封装1,为什么使用面向对象1.1:万事万物皆对象,面向对象就是采用“现实模拟”的方法设计和开发程序。
2,使用面向对象进行设计2.1:面向对象设计三部曲1,发现类。
2,发现类的属性。
3,发现类的方法。
经验:在需求中找出名词的方式确定类和属性,找出动词的方式确定方法。
3,创建类的对象1,通过构造方法来创建对象2,通过对象名.属性名的方式调用属性。
3,通过对象名.方法名的方式调用方法。
4,Static可以用来修饰属性,方法和代码块。
Static修饰的变量属于这个类所有。
即由这个类创建的所有对象共有同一个static 变量。
类属性,类方法可以通过类名和对象名访问,势力属性,实例方法只能通过对象名访问。
5,在方法里不可以定义static变量,类变量不能是局部变量。
6,构造函数的重载1,构造方法的名字和类名相同,没有返回值类型。
构造方法的作用主要就是在创建对象是执行一些初始化操作,赋值。
2,在没有给类提供任何构造方法时,系统会提供一个无参的方法体为空的默认构造方法。
一旦提供了自定义构造方法,系统将不会提供这个默认构造方法,如果要使用她,必须手动添加。
3,如果同一个类中包含了两个或两个以上方法,它们的方法名相同,方法参数个数或参数类型不同,则称该方法被重载。
成员方法和构造方法都可以重载。
4,构造方法没有返回值类型。
如果有,就不是构造方法,而是构造方法同名的成员方法。
5,封装1,封装是类的三大特性之一,就是将类的状态信息隐藏在内部。
2,封装的具体步骤:为每个属性创建一对一赋值,在赋值方法中,加入对属性的存取控制语句。
3,隐藏类的实现细节,让使用者只能通过程序员规定的方法来访问数据,可以方便地加入存取控制语句,限制不合理操作。
第二篇:Java面向对象编程习题总结第一章面向对象开发方法概述1.面向对象的软件开发有哪些优点?1)把软件系统看成是各种对象的集合,这更接近人类的自然思维方式。