java学习总结(类的继承)

这是第五次课后的总结。这次课学的是类的继承。
内容有:
1.类继承的实现和作用
 前面已经学了类的语法格式,现在学了类的继承。类的继承是用extends关键字。
 示例:

 public class UNStudent extends Student{
 //方法和属性
 }

  类的继承作用:子类继承父类后,子类会继承父类的属性和方法,根据需要子类可以重写父类的  方法。
 注意点:除了private修饰的属性和方法不能被继承,public,protected以及不加修饰符的方法以及属性都能被子类继承。
 

//父类Student
 public class Student {
 private String name;//子类不能继承使用该属性
 protected int age;

 public void setName(String name) {
  this.name = name;
 }

 void setAge(int age) {
  this.age = age;
 }
 //子类不能调用该方法,如过要调用,那么在子类中必须重写这个方法
 private String getName(){
  return this.name;
 }
 int getAge(){
  return age;
 }
}

 2.接口
 接口定义的关键字是interface;

 public interface 接口名{
 //接口中定义的方法
 //方法没有方法体,也就是方法不能有具体的实现
 //方法示例
 public void study();
 //每一个方法都没有{},{}指的是有具体的方法实现。
 }

  不论方法的修饰符有没有public,接口都默认它是public。
 类实现这个接口后,子类必须重写接口中的方法。这也是接口的特性,它的作用也在此得到体现 ,这一特性可以防止我们漏写接口中的方法。
 接口中只有常量,一般定义格式是:
 public static final String name;
 static 表示这是静态的,该属性可以直接用类名调用而不需要类的实例化对象;
 final 表示的是name是不能再被赋值,不能改变的。
 接口不能用来创建对象。


3.抽象类
 抽象类是介于类和接口之间的。因为接口被子类实现后,子类必须重写接口中所有的方法,而有些时候我们并不需要使用到接口中所有的方法,所以就加入了抽象类,它可以让我们对接口中的方法选择性的重写和使用。
 抽象类定义格式:

 pubic abstract class 类名{
 //定义属性和方法
 }
 //不能使用abstract去定义属性,

  如:abstract protected String time;这是错误的。
 子类继承抽象类用extends关键字,子类继承抽象类后,如果抽象类中的方法用abstract修饰的,  那么子类必须重写这些方法。
 抽象类也不能创建对象,因为抽象类中可能有abstract修饰的方法,这种方法是没有具体实现的  。可以这么理解,因为接口和抽象类中含有没有具体实现的方法,所以是不能创建对象的。
 abstract和private关键字不能同时使用,如:
 abstract private void play();这是不对的。abstract可以和public、protected连用,abstract后也可不接修饰符,它会默认是public。

你可能感兴趣的:(java)