Java常见面试重点知识(java基础阶段03)

10.String 类的常用方法都有那些?

1、和长度有关:

  •     int length() 得到一个字符串的字符个数

2、和数组有关:

  •     byte[] getByte() ) 将一个字符串转换成字节数组
  •     char[] toCharArray() 将一个字符串转换成字符数组
  •     String split(String) 将一个字符串按照指定内容劈开

3、和判断有关:

  •     boolean equals() 判断两个字符串的内容是否一样
  •     boolean equalsIsIgnoreCase(String) 忽略太小写的比较两个字符串的内容是否一样
  •     boolean contains(String) 判断一个字符串里面是否包含指定的内容
  •     boolean startsWith(String) 判断一个字符串是否以指定的内容开头
  •     boolean endsWith(String) 判断一个字符串是否以指定的内容结尾

4、和改变内容有关:

  •     String toUpperCase() 将一个字符串全部转换成大写
  •     String toLowerCase() 将一个字符串全部转换成小写
  •     String replace(String,String) 将某个内容全部替换成指定内容
  •     String replaceAll(String,String) 将某个内容全部替换成指定内容,支持正则
  •     String repalceFirst(String,String) 将第一次出现的某个内容替换成指定的内容
  •     String substring(int) 从指定下标开始一直截取到字符串的最后
  •     String substring(int,int) 从下标x截取到下标y-1对应的元素
  •     String trim() 去除一个字符串的前后空格

5、和位置有关:

  •     char charAt(int) 得到指定下标位置对应的字符
  •     int indexOf(String) 得到指定内容第一次出现的下标
  •     int lastIndexOf(String) 得到指定内容最后一次出现的下标
     

11.抽象类必须要有抽象方法吗? 

  • 抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。
  • 如果一个类中有了一个抽象方法,那么这个类必须声明为抽象类,否则编译通不过。

 12.普通类和抽象类有哪些区别?

  1. 抽象类不能被实例化。
  2. 抽象类可以有构造函数,被继承时子类必须继承父类一个构造方法,抽象方法不能被声明为静态。
  3. 抽象方法只需申明,而无需实现,抽象类中可以允许普通方法有主体
  4. 含有抽象方法的类必须申明为抽象类
  5. 抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是抽象类
  6. 抽象类是否可以有构造函数?

         答案是可以有。抽象类的构造函数用来初始化抽象类的一些字段,而这一切都在抽象类的派生类实例化之前发生。不仅如此,抽线类的构造函数还有一种巧妙应用:就是在其内部实现子类必须执行的代码。

抽象类的特点

1.抽象类不能被实例化

2.抽象类可以有抽象方法,抽象方法只需申明,无需实现

3.含有抽象方法的类必须申明为抽象类

4.如果没有实现抽象基类中所有的抽象方法,则子类成为一个抽象子类;如果实现抽象类中所有抽象方法,他就是非抽象子类;

5.抽象方法不能被声明为静态static

6.抽象方法不能用private修饰

7.抽象方法不能用final修饰

13.抽象类能使用 final 修饰吗?

Java抽象类不可以被 final修饰,抽象类需要被继承才能使用,而被final修饰的类无法被继承,所以abstract和final是不能共存的 

 14.接口和抽象类有什么区别?

1、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。

2、抽象类要被子类继承,接口要被类实现。

3、接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现。

4、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。

5、抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。

6、抽象方法只能申明,不能实现,接口是设计的结果 ,抽象类是重构的结果。

7、抽象类里可以没有抽象方法。

8、如果一个类里有抽象方法,那么这个类只能是抽象类。

9、抽象方法要被实现,所以不能是静态的,也不能是私有的。

10、接口可继承接口,并可多继承接口,但类只能单根继承。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值