1.this关键字的使用
主要有两个作用:一是表示对隐式参数的引用、二是调用类中的其他构造方法。
例如:
public people(String name){
this.name = name;
}
2.私有成员变量
当类的内部有private关键字定义的私有成员变量,要使得能够在类的外部获取或修改这么信息,可定义用get或set方法,例如:
public String getId(){
return this,id;
}
public void setName(String name){
this,name= id;
}
3.继承
继承是子类自动获取父类的数据和方法的机制,例如学生也是人,有父类people的属性,当学生是一群特定的人群,所以还具有一些特点的属
性和和外界的操作方法。这时候可以定义一个新的类student, 但是它可以重用people类中已有的成员变量和方法。可以说一个包含的关系,用
extends实现。例如:
public class Student extends People{
...
private String sId;//定义新的成员变量
public void sayHello(String name , String id, String sId){
super(name,id);//调用父类的同名方法;
this.sId=sId;//新的变量重新赋值;
}
}
super关键字:1,调用父类的构造方法。2,调用父类的方法。(总而言之就是用来调用父类的方法的)
object是所有类的父类,JAVA中不支持多继承,多继承的功能几乎都是通过接口机制来完成的。
4.接口
实际上JAVA实现伪多继承的方式是继承一个父类,然后implement一个接口,接口是一些方法特征的集合,但没有方法的实现。
例如:
public interface Compare{
public int compare (Object otherObj);
}
接下来,需要在类中实现接口所定义的compare 方法,使用implement关键字:
public class Student extends People implements Compare{
...
public int compare (Object otherObj){
Student other = (Student)otherObj; //类型转换
return this.sId.compareTo(other.sId); //其中compareTo是String类自带的方法
}
}
需要注意的JAVA中的接口不是类即Compare不是Student的父类,但是可以看做是Student的父类(伪多继承),这样虽然不能用
new来构造接口对象,但还是可以通过如下方式使用接口对象:
Compare com = new Student("cary",'0003','2006010101');
很久没碰过JAVA了,今天先复习一下,明天更对时间复杂度分析的理解,它算是数据结构中算法性能最重要的评判标准。