这个学期我第一次去蓝杰学习,在这里我学习了第一题课,那么便是Java语言的学习。与Java第一次接触,我的兴趣也比较浓,虽然自己学的慢,但是我相信勤能补拙,我一定能够学好Java。
第一次课,我们学习了继承,方法重写,自动转换。说到继承,我们自然就想到了类,类包含属性和方法,也就是我们c++当中所说的成员变量和成员函数。而继承就是子类继承父类的所有属性和方法。假设以学生类为基础,我们命令Student类为父类,格式:
public class Student{ public String name; public void study(){ System.out.print(“Student在学习”+name);//字符串与属性相连用+,字符串需要用到双引号 public void setName(String n){ name=n; } public String getName(){ return name;} } }
然后以UNStudent类继承其所有属性,方法;格式为:
public class UNStudent extends Student{
}
当然,UNStudent不仅可以继承Student类里面所有成员,还可以定义自己的成员。
然后老师讲到了自动转型和强制转型的概念。其中,自动转型就是将子类对象的类型定义为父类类型,也就是说,子类对象可以自动转型为父类对象。
格式为:
Student stu = new UNStudent();//此时子类转为了父类,不能够使用子类当中特有的方法,但可以使用子类当中方法名与父类相同的方法。
//如果说自动转型后,stu还想使用子类当中特有的方法,那么就要使用到强制转换:
UNStudent stu2 = (UNStudent) stu;
接下来讲到了方法重写,Student有自己的学习方法,但是大学生,中学生,小学生的学习方法各不相同,但是可以用到大类当中相同的方法名,但是可以进行重新定义,这就是方法重写:
public void study(){
System.out.print(name+"学习是为了提升自己,而不是为了考试");
}
第二节课当中,我们又讲到了接口,接口其实也算是继承,但是是特殊的继承;如果说我们只知道父类应该干什么,而不清楚怎么做,只有具体到子类当中才知道怎么做,即该类当中所有方法都没有方法体时,我们需要用到接口。如下演示:
public interface Person{
//接口当中的默认属性都是public static final;而且属性必须进行初始化。
public static final int num=1000;
//而对于接口当中的方法,其都是抽象的,默认为public abstract.
void eat();
public abstract void rest();
//接口不能够构造对象,我们定义接口就是为了用来给子类扩展的,它只是一种数据类型。
}
接口的实现:
public class Student implements Person{
//实现接口当中的方法时,必须在前面加上public
public void eat(){
System.out.print("张三在食堂恰饭");}
//实现接口时,不能写上原来的abstract;
public void rest(){
System.out.print("李四在宿舍休息");
}
}
以上便是我这两节课的收获与感触,Java挺有趣的,接下来的学习中,加油吧。