maxss.java:19: 错误: 无法将类 maxss中的方法 getMax应用到给定类型;
int max = getMax();
^
需要: int[]
找到: 没有参数
原因: 实际参数列表和形式参数列表长度不同
1 个错误
没有给getMax() 传入数组参数。
冒泡和排序一般用在面试。
Personxx.java:34:找不到符号
符号:构造函数 Person()
位置:类 Person
Person p1 = new Person();
1错误
// 没有与之对应的初始化方式,无法建立该对象。
构造代码块 -------用在面试。
{
System.out.println("code run");
}
作用:给对象进行初始化。
对象一建立就运行,而且优先于构造函数执行。
和构造函数的区别:
构造代码块时给所有对象进行统一初始化,
而构造函数是给对应的对象初始化。
this用法
this:代表本类的对象
this代表它所在函数所属对象的引用。(即哪个对象在调用this所在函数,this就代表哪个对象)
Person(String name)
{
this.name= name;
}
静态的应用
每一个应用程序中都有共性的功能
可以将这些功能进行抽取,独立封装,以便于复用。
虽然可以通过建立ArrayTool的对象使用这些工具方法,对数组进行操作。
但发现了问题:
1,对象是用于封装数据的,可是ArrayTool对象并未封装特有数据。
2,操作数组的每一个方法都没有用到ArrayTool对象中的特有数据。
这时就考虑让程序更严谨,是不需要对象的。
可以将ArrayTool中的方法都定义成static的,直接通过类名调用即可。
将方法都静态后,可以方便于使用,但是该类还是可以被其他程序建立对象的。
为了更为严谨,强制让该类不能建立对象。
可以通过将构造函数私有化完成。
一个类中默认会有一个空参数的构造函数,
这个默认的构造函数的权限和所属类一致。
如果类被public修饰,那么默认的构造函数也带public修饰符。
如果类没有被public修饰,那么默认的构造函数也没有public修饰。
默认构造函数的权限是随着类的变化而变化的。
final:作为一个修饰符
1,可以修饰类,函数,变量。
2,被final修饰的类不可以被继承。为了避免继承后被子类复写功能。
3,被final修饰的方法不能被复写
4,被final修饰的变量时一个常量只能赋值一次,既可以修饰成员变量,又可以修饰局部变量。
当在描述事物时,一些数据的出现值是固定的,这时为了增强阅读性,都给这些值起个名字,方便阅读。
而这个值不需要改变,所以加上final修饰。作为常量,书写规范所有字母要大写,多个单词之间则通过“_”链接。
5,内部类定义在类中的局部变量位置上,只能访问该局部被final修饰的局部变量。
网友评论