`
快乐的拖拉机
  • 浏览: 9191 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

基础知识

 
阅读更多
[size=x-small][/size]类的继承
1.为什么要用类的继承?
当在定义学生这类时,还有大学生,大学电脑专业学生,存在大学电脑专业学生属于大学生,大学生属于学生这种关系。因此学生具有的方法大学生也具有,使用extends关键字省去了在每个类中重复写代码的必要。
2.继承的格式和继承到了什么
格式:public class 类名(子类名,超类名,派生类名) extends 类名(父类、基类) {      }
1.子类继承了父类所有的属性和方法。(不包含构造方法)
2.哪些属性和方法能被调用:
类有访问修饰符
private 类{}中
默认的 包中
          protected          包中和包外的子类
public 项目中
                               不同包(受保护的属性只能在子类中使用)
eg:A{ protected String a;}
B extends A{ a属性在此调用 }
C{不可调用a}
public class子类extends父类{ }此时子类继承了父类中的属性和方法。
3.方法的重写
1、两者必须要有继承关系
2、方法的返回值类型相同,参数个数、参数类型、参数顺序都和父类的相同
3、子类重写方法时的访问修饰符范围可以大于或者等于父类方法的访问修饰符。方法名必须和父类中的完全一致,但其中的方法可以不同
4.自动转型
好处:节省代码。
1、两者必须存在继承关系。
2、在实例化对象时,使用 父类 变量名=new 子类();这种格式实现自动转型,此变量即变为父类类型中的变量。转型后只能调用父类中的方法,不能调用子类中的方法了。
3、使用 子类 变量名=new 子类()两者都可以的方法都可以调用。
注:java中子类一次只能继承一个父类。
5.多态:相同类型的对象调用相同的方法时,由于继承和重写机制得到的结果不一定相同。因此具体问题具体分析。
6.接口定义:
好处:将预先想要的方法给定义好了,可以直接用。接口也可丰富类的继承关系。接口的抽象方法子类中必须继承,解决了某些方法在子类中不存在的问题。
public interface 接口名 extends 接口名,... { };
接口中可以定义的有常量,它的格式 public static final 数据类型 常量名 = 值;和抽象方法,它的格式为public 返回值数据类型 方法名(数据类型 参数名,...);
7.实现接口的格式
public class 类名 extends 类名(继承类必须在继承接口之前) implements 接口名,...{
public 返回值数据类型 方法名(数据类型 参数名,...){
//代码
}
}
注:类实现接口后必须要实现接口中的抽象方法。

8.接口与类的区别
1,定义类用class,定义接口用interface。
2,一个接口可以继承多个接口,但一个类只能继承一个类。
3,接口中只能定义常量和抽象方法,而类中可以定义属性常量方法等。
4,接口的访问修饰符默认为public,因此public可省。但类中的访问修饰符不可省。
5,类可以实例化对象,接口不可以。
9.抽象类
定义抽象类的关键字:abstract class
格式:
public abstract class 抽象类名  extends 类名或者抽象类  implements 接口名,... {
//类中所有的属性和方法
                     //接口中的常量和抽象方法
public abstract 返回值数据类型 方法名(数据类型 参数名,...);
}
加上关键字abstract。什么都可以定义。(包括抽象方法、方法、构造方法等等)
Super关键字
10.就是调用父类的属性
一个类中如果有int x属性,如果其子类中也定义了int x属性的话,在子类中调用父类的x属性时应用super.x = 6;表示该x是引用的父类的属性,而要表示子类中的x属性的话,使用this.x
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics