本篇文章主要针对Java面向对象语言的期末备考,总结了一些老师划的重点和自己总结的知识点。
1、简述面向对象三大特性
①封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
②继承:继承是一种连结类的层次模型,并且允许和鼓励重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
③多态:多态性是指允许不同类的对象对同一消息作出响应。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了应用程序函数同名的问题。
2、简述接口和抽象类的区别
①继承抽象类的关键字是extends,实现接口的关键字是implements;
②一个类只能继承一个抽象类,但可以实现多个接口;
③抽象类中允许非抽象方法的存在,但接口中必须全部是抽象方法;
④接口中的变量必须用public static final修饰,并且需要给出初始值,实现类不能重新定义,也不能改变其值;而抽象类中的变量默认default,实现类中可被重新定义,也可重新赋值;
⑤接口中的方法必须是public abstract,抽象方法被abstract修饰。
3、简述类与对象的关系
类是一个模板,类中描述的是所有对象的“共同特征信息”;对象,又叫实例,是通过类创建出来的实际存在的个体。类是对象的抽象,对象是类实例化出来的。
4、简述上转型对象及其特点、用法
①上转型对象不能操作子类新增的(特有的)成员变量(失掉了这部分属性),不能使用子类新增的(特有的)方法(失掉了一些功能);
②上转型对象可以操作子类继承或者隐藏的成员变量,也可以使用子类继承的或者重写的方法;
③上转型对象操作子类继承或重写的方法,其作用等价于子类对象去调用这些方法。因此,如果子类重写了父类的某个方法,则当对象的上转型对象调用这个方法时一定是调用了这个重写的方法。
④上转型对象可以被强制转化为子类对象。
5、简述抽象类和普通类的区别
①抽象类必须用public、protected修饰(如果为private修饰,那么子类则无法继承,也就无法实现其抽象方法),默认缺省为public;
②抽象类必须用abstract修饰,子类必须实现抽象类中的抽象方法,如果有未实现的,那么子类也必须用abstract修饰。
③抽象类无法创建对象。
6、简述异常处理的两种机制
①捕获异常:try-catch-finally
②抛出异常:在调用会产生异常的方法所在的方法处声明throws,此方法将不会对该类异常进行处理,而是由该方法的调用者处理。
7、GUI中有哪些对象?对象的布局方式有哪些?
窗口、按钮、面板、标签、文本框、文本域、菜单栏、对话框等。
布局方式:FlowLayout、BorderLayout、GirdLayout
(补充:Panel类默认布局是FlowLayout,Frame类默认布局是BorderLayout。)
8、简述输入流、输出流的分类
按流向分,分为输入流、输出流;
按处理数据单位分,分为字节流、字符流;
按功能分,分为节点流、处理流(包装流)。
10、简述方法重载的特点
方法重载的方法名必须相同,方法的参数类型、参数个数不同。返回值类型可以不同,方法修饰符可以不同。(main方法也可以被重载)。
1、对集合c进行遍历,通常调用c的方法getIterator()遍历集合元素。
2、能够接受用户输入的对话框用JOptionPane.showInputDialog()显示输入框,用JOptionPane.showMessageDialog()显示消息窗口。
3、GUI中,事件处理模型三要素为:事件源、事件、事件监听器。
4、使用遍历器Iterator类来定义遍历集合框架元素中的遍历对象。
5、每个数组都有一个length域,若超出了这个范围则会引发数组下标越界异常。
6、is-a代表继承,has-a代表组合。
7、Double.parseDouble将字符串转换为double数据类型。
8、构造方法不能继承。
9、abstract可修饰类、方法,不能修饰属性(变量)。
static可修饰类、方法、变量(属性)。
1、利用IO流相关知识,实现把文件1.txt的复制。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test{
public static void main(String [] args){
FileInputStream fis=null;
FileOutputStream fos=null;
try{
fis=new FileInputStream("×××");
fos=new FileOutputStream("×××");
byte[]bytes=new byte[1024];
int readCount=0;
while((readCount=fis.read(bytes))!=-1{
fos.write(bytes,0,readCount);
}
fos.flush();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}finally{
if(fos!=null){
try{
fos.close();
}catch(IOException e){
e.printStackTrace();
}
}
if(fis!=null){
try{
fis.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
本篇文章是小编整理的一些老师划的重点,希望对大家有所帮助哟!别忘了留下你的点赞+评论+收藏哟!