类、对象、封装
等关键词:类、对象、封装、构造函数。
区别是面向对象编程是对类进行封装成新的类以实现对象的直接调用,面向过程是通过类运用结构化的方法实现目标的实现。
作用是能够创建对象并使其初始化。
特征是构造函数的名称与类名相同,其函数没有返回值,不可直接调用,需要使用new来调用。
String
类的源代码,找出3个看得懂的String类的构造函数,并使用自己的话描述这3个构造函数的区别。对原字符串进行修改。
public String(StringBuffer buffer) {
synchronized(buffer) {
this.value = Arrays.copyOf(buffer.getValue(), buffer.length());
}
}
对原字符串进行修改,相较于StringBuilder速度更快。
public String(StringBuffer buffer) {
synchronized(buffer) {
this.value = Arrays.copyOf(buffer.getValue(), buffer.length());
}
}
创建一个新的字符串对象
String(char[] value, boolean share) {
// assert share : "unshared not supported";
this.value = value;
}
同:初始化块和构造函数都可以对函数进行初始化。
异:初始化块可以对函数进行无参初始化,构造函数对函数进行有参的初始化。
初始化块相对于构造函数先执行。
静态初始化块相对初始化块值运行一次,且比初始化块先执行。
java.lang.Math
类的方法时,为什么不需要new出一个Math对象,然后调用该对象上相应的方法?因为Math类大部分的方法都是静态的,可以对其进行直接调用。
math是一个私有的private使其用new Math()会产生错误。
public final class Math {
?
/**
* Don‘t let anyone instantiate this class.
*/
private Math() {}
?
/**
3.3 进一步:你觉得什么样的对象需要new出来才能用,调用什么方法时不必创建相应对象就可以使用?需要将对象进行实例化的对象可使用new,调用静态类的方法不需要使用到new。
重载就是在程序中可以由相同名字的方法,但方法中参数不同。
构造函数具有相同的名字,但其参数内容不同。
重载可以根据后面的数据不同进行区分。
java.lang.Math
类中举出1个方法重载的例子?abs()即绝对值函数的重载
public static int abs(int a) {
return (a < 0) ? -a : a;
}
public static long abs(long a) {
return (a < 0) ? -a : a;
}
final int[] NUMBS= {1,2,3,4,5}; NUMBS[2] = 1;
finnal不可改变的是对象,但是对象中的内容却是可以改变的。
public static boolean isMondayToFriday()
封装就是将一些方法组成新的类,便于程序的直接调用。
好处:可以使对象便于使用,并且可以提高数据的安全性能。
关键字:private、defaulit、protected、public
对方姓名:董明超
所完成题目PTA7-5 jmu-Java-03面向对象基础-05-覆盖
感想:通过这次结对编程使我明白了自己和别人的思路存在不同,通过结对编程使我能够用不同的角度来思考一个程序要如何编写,与别人一起编程虽然有点儿尴尬但是有所收益。
周次 | 总代码量 | 新增代码量 | 总文件数 | 新增文件数 |
---|---|---|---|---|
1 | 156 | 156 | 8 | 8 |
2 | 324 | 234 | 46 | 46 |
3 | 467 | 467 | 51 | 51 |
|
201621123021 《Java程序设计》第3周学习总结
原文:http://www.cnblogs.com/wenzun/p/7616625.html