1、数组有没有length()这个方法?String有没有length()这个方法?
数组只有length属性,表示的是数组的长度。而且这个属性可以理解为止一个常量,一旦数组被产生,我们可以得到length的值,但不能改变。
返回的是字符串的长度。也不能修改。
2、抽象类和接口有什么区别?
相同点:
代表系统的抽象层
都能包含抽象方法
用于描述系统提供的服务,不必提供具体实现
不同点:1:在抽象类中可以为部分方法提供默认实现,而接口中只能包含抽象方法
抽象类便于复用,接口便于代码维护
2:一个类只能继承一个直接的父类,但可以实现多个接口
3、重写和重载的区别?
重写:方法名相同参数列表相同,返回值相同或者是其子类,访问修饰符不能严于父类,抛出的异常不能大于父类
重载:是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,和返回值无关。
4、请你写出你理解的Java面向对象的三大特性
(1):继承就是从已有的类继承信息创建新类的过程,被继承的类称为父类,继承的类叫做子类。子类可以全盘接受父类的所有属性和方法(甚至是private修饰的,也可以继承,但是不能在父类之外访问,提供共有的访问方法(比如封装set()、get())就可以用)。
(2):封装就是将属性私有化,提高安全性。
封装的步骤:1:将属性私有化 private
private String sex;
2:编写setter方法,可以针对用户输入的值进行判断
3:编写getter方法,来获取值
(3):多态:同样的一种物质,在不同条件下,所呈现出来的状态是不同的。
语法:父类名 父类引用 = new 子类类名()
5、写出异常的语法(throw和try):
语法
try{
//将可能出现异常的代码都放入try中
}catch(){
//在一段程序中catch可以有多个,来捕获异常类型,当出现了某种异常就会中断 异常代码后面的内容继而执行对应的catch中的内容
//需要注意的是 异常的范围需要从小到大写 范围小的异常放在上面,范围大的异常放在下面
}finally{
//在程序中一定会被执行的内容,除非是遇到了exit()方法
当程序中有return的时候,是会先执行finally中的内容,然后执行return。
}
throws Exception: 声明异常
方法名后声明, 将异常交给调用者去处理了,如果调用者不处理依然会出现异常,除非是使用 try catch
throw new Exception();抛出异常
自定义异常
声明一个类继承RuntimeException
重写有参无惨够造方法,最后调用