练习题
1、数组有没有length()这个方法?String有没有length()这个方法?
答:数组没有length()这个方法,有length的属性。 String有length()这个方法。
2、抽象类和接口有什么区别?
相同点:
1、代表系统的抽象层
2、都不能被实例化
3、都包含抽象方法
不同点
1、在抽象类中可以为部分普通方法默认实现
2、一个类只能继承一个直接的父类,但可以实现多个接口
3、重写和重载的区别?
比较项 位置 方法名 参数表 返回值 访问修饰符
方法重写 子类 相同 相同 相同或是其子类 不严于父类
方法重载 同类 相同 不同 无关 无关
4、请你写出你理解的Java面向对象的三大特性
1、封装
封装是 JAVA 面向对象思想的 一 种特性,也是一种信息隐蔽的技术,将类中的某些信息隐藏起来,来防止外部程序直接访问,通过类中的方法实现对隐藏的信息调用和访问,使用对应的 get 和 set 方法。优点:
-
隐藏信息,有利于数据安全性
-
有利于类内部信息的修改
-
调压者只需调用,无需了解实现过程
2、继承
继承是Java面向对象的一种特性,就是子类可以继承父类的方法与属性,子类也可以重新声明属性和方法,
通过extends关键字声明
格式:class 子类 extends 父类{}
好处:子类和父类建立关系,子类可以拥有父类的非私有的成员属性和成员方法,也可以自己拥有自己的属性和方法
3、多态
同一个对象具有不同的行为
优点:
-
灵活性
-
可替换性
5、 写出异常的语法(throw和try):
mport java.util.InputMismatchException; import java.util.Scanner; public class shuzi { public static void main(String[] args) { Scanner input=new Scanner(System.in); try{ System.out.println("请输入课程代号(1-3之间的数字)"); int choose=input.nextInt(); switch(choose) { case 1: System.out.println("C#编程"); break; case 2: System.out.println("java编程"); break; case 3: System.out.println("ui编程"); break; } }catch(InputMismatchException e){ e.printStackTrace(); }catch (ArithmeticException e){ System.out.println(e.getMessage()); }catch (Exception e){ e.printStackTrace(); }finally { System.out.println("欢迎提出建议!"); } } }