面向对象的总结

1、一个类有可以有几个构造方法?(1分)
可以有很多个
2、构造方法有什么特点?(3分)
没有返回值。
方法名和类名相同。
用于给属性赋初始值。
不可以被继承,可以被调用。super(参数)
可以被重载。
3、什么是重载?(2分)
方法名一样,参数个数或者参数类型不样。
一般方法名一样的方法,功能也一样。
4、访问修饰符一共有几种?(2分)
public
protected
默认
private
5、访问修饰符都可以修饰什么?(2分)
属性

方法
6、子类从父类继承了哪些东西?(3分)
非private的属性和方法
本质上private的也都继承了,只是无法直接访问。
final修饰的方法都不能被重写。
父类的构造方法不能被继承。
7、final关键字的作用是什么?(3分)
修饰属性:属性只能赋值一次。
修饰方法:子类不能重写方法。
修饰类:不能被继承。
8、this关键字代表的是什么对象?(1分)
代表当前对象,调用这个方法的对象。this只能出现在类的实例方法中。(不能出现在静态方法里)。
9、this关键字的作用是什么?(2分)
访问属性
访问方法
调用本类的其他构造方法。如果this调用构造方法的话,必须出现在构造方法的第一行。
10、super关键字的作用是什么?(2分)
访问父类继承过来的属性(符合访问修饰符的要求)
访问父类继承过来的方法(符合访问修饰符的要求)
调用父类的构造方法。super必须出现在构造方法的第一行。
11、static关键字什么作用?(2分)
修饰属性:说明这个属性不属于具体的对象,而是属于这个类,所有对象共享这个属性。这个属性随着类加载的时候一起加载。
修饰方法:说明这个方法不属于具体的对象,而是属于这个类,所有对象都共享这个方法。这个方法内部不能出现实例变量。
12、如何访问static修饰的属性?(2分)
类名.属性名(推荐)
对象.属性名
13、如何访问static修饰的方法?(1分)
类名.方法名(推荐)
对象.方法名
14、什么是重写?(3分)
当子类对父类继承过来的方法实现不满意的时候,就可以重写父类的方法。
重写的方法与父类继承过来的方法名一样(返回值、参数也都一样),访问修饰符的范围大于等于继承过来的方法的访问修饰符。
15、封装有什么作用?(3分)
提到代码的复用率。
提到代码的安全性。
隐藏内部细节,对外公开接口(广义接口)。
getter、setter封装了属性。
方法封装了具体功能的实现。
类封装了对象的属性和行为。
16、什么是多态?(3分)
不同(类)对象对相同行为(方法)的不同实现。
想要实现多态,必须满足3个条件:
1、存在继承关系
2、子类重写父类中的方法
3、用父类引用指向子类对象。
通过父类引用去调用方法,执行时,java运行时环境就会执行子类重写的方法。

17、String类在java中用于表示什么数据?(1分)
字符串。----不可变字符串
18、如何理解String的不可变?(2分)
长度不可变(不能增加,不能删除)
内容不可变(内容不可以被修改以及替换)
19、String提供了哪些功能?(答对一条给1分)
删除字符串(字符)
-----delete(int start,int end);
-----deleteCharAt(int index);
替换字符串(字符)
-----replace(String old,String str);
-----replacr(char oldChar,char newChar);
追加字符串
-----append();//1组重载方法
插入字符串
-----insert(int index,xx)//1组重载方法
判断字符串以什么开头
-----startsWith(String str);
判断字符串以什么结尾
-----endsWith(String str);
获取出现的位置
-----indexOf();//1组方法 offset
改变大小写
-----toUpperCase();
-----toLowerCase();
求子串
-----subString(int index);
-----subString(int start,int end);
去除前后空格
-----trim();
判断是否包含
-----contains(String str);
判断是否相等
-----equals(String anotherStr);
分割字符串
-----split(String rule);
比较大小:
-----compareTo(String anotherStr);
求字符串的长度
-----length();
20、StringBuilder代表什么数据类型?(1分)
可变字符串
字符串自身可变(长度、内容可变)
21、StringBulider具有哪些功能?(答对一条给1分)
追加
----append();//参数是要追加的内容
插入
----insert(int index,xxx)
删除
----delete(int start,int end)
替换
----replace(int start,int end, String str);
----setCharAt(inde,char);
22、StringBuffer和StringBuilder一样。
方法同上
23、StringBuffer和StringBuilder有什么区别?(2分)
StringBuilder效率高,多线程下不安全。(推进)
StringBuffer效率低,多线程下安全。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值