类与继承

1.为什么需要继承?如何继承?继承到了什么?
继承可以减轻代码的冗余,使代码得到重用,减轻软件开发者的负担。
子类继承父类的方法和属性 关键词extends
public class extends Student{}

2.自动转型
自动转型,指的是子类对象会自动转变为父类类型
看如下代码 Student stu1=new UNStudent();
有如下两点需要注意
1.子类重写了父类中的方法,调用的是子类中的实现。
2.一个对象只能调用在其定义的类型及其父类中方法。
Student stu1 = new UNStudent();
  stu1.study();
运行后是 大学生在学习

3.方法的重写与重载的区别

方法重写与重载的区别
重写是指子类对父类方法的修改,已更适合与自己。方法的参数和返回类型必须相同。
重载是同一个方法名,但是通过不同参数个数或者类型来相区别,已实现对外一个接口,对内多种实现。
study(String n); study(String n,String n);//重载

public class Teacher{public void study(String n){
...}}
public class UNTeacher extends Teacher{public void study(String n){
...}}
//重写
4.多态的理解

相同的类型调用相同的方法,由于重写 重载等等机制,得到的结果不一定相同,甚至,只有在运行时,才能知道结果到底是什么。
public class ABS{
private int d;
int xiangjia(int a,int b) return a+b;
int xiangjia(int a,int b,int c) return a+b+c;}
ABS abs=new ABS();
abs.xiangjia(3,5);abs.xiangjia(3,7,8);
5.什么是接口?如何定义接口,接口如何实现?

只定义方法的返回类型,参数表,而不定义接口的具体实现,这就是接口。接口是通过关键词interface定义的
其中为何定义接口,多重继承的需要,接口的实现是通过继承它子类实现的,而且子类必须实现接口中的方法。接口可以定义属性,但属性必须是常量值,不可以改变。接口的实现通过关键字implements关键字,这与类extends 不同
public interface NetJavaShape{
public final static String compName="蓝杰";
void draw(int x1,int y1,int x2,int y2);
}

6.class与interface的区别

接口是不能创建对象,接口可以有属性,但接口中的属性是常量值

JKONE是一个接口 则JKONE jke=new JKONE();这是错误的
一个类可以实现多个接口,却只能继承一个类,而接口可以继承多个接口,extends实现

7.如何定义抽象类,抽象类的特点,如何继承抽象类
public abstract class A{}


  如何定义抽象类 ,这和定义类没有区别,在类前加上abstract,抽象类介于类和接口之间,故既可以定义
已实现的方法,也可以定义没有实现的方法(方法名前必须加上abstract),抽象类的继承和类的继承相同,但抽象类中没有实现的方法必须在继承它的子类中实现,而且子类只能同时继承一个抽象类,这与接口的implements不同,同时,子类继承抽象类是,使用extends关键字。抽象类不能直接创建对象。
  [size=xx-small][/size]

你可能感兴趣的:(类的继承 学习总结)