类的继承
其基本思想是基于某个父类进行扩展得到一个新的子类,子类可以继承父类原有的属性和方法,可以增加原来父类不具备的属性和方法,或者重写某些属性和方法,
package text;
class test{
public test() {
//Something ;
}
protected void dosomething() {
//something;
}
protected test doit(){
//something;
return new test();
}
}
class Java extends test{//继承父类
public Java(){//构造方法
super();//调用父类构造方法
super.dosomething();//调用父类成员方法
}
public void dosoamething() {//重写父类方法;
//something;
}
public void dosomethingnew() {
//newsomething;
}
protected Java doit() {//重写父类方法,改变返回值类型;
return new Java();
}
}
在子类中可以连同初始化父类构造方法来完成子类的初始化工作,
在子类中可以通过super关键字来调用父类的构造方法,成员方法,但没有权限去调用private和protected保护的方法,
重写父类的方法也称之为覆盖,保留原来的成员方法名字,改变方法内容和返回值类型,也可以改变成员方法的存储权限,(不能缩小其权限public–private–protected);
object类
主要的使用方法:
1.getClass.getname();
可通该方法获得类的名称;
2.toString();
将一个对象返回为String形式;
3.equals();
常比较两个字符串的大小,(这是基于内容的比较);
对象类型的转换
1.向上转型
class Quadrangle{
public static void draw(Quadrangle q) {
//something;
}
}
public class Parallelogram extends Quadrangle{
public static void main(String[]args) {
Parallelogram p= new Parallelogram();
draw(p);
}
}
在父类中定义一个draw()方法实现向上转型,就是把子类对象赋值给父类的变量,父类中的draw()方法根据不同的子类对象设置不同的处理方式,做到父类中定义一个方法完成子类的各个功能,使代码具有多态性,
2.向下转型
class Quadrangle{
public static void draw(Quadrangle q) {
//something;
}
}
public class Parallelogram extends Quadrangle{
public static void main(String[]args) {
Parallelogram p= new Parallelogram();
draw(p);
Quadrangle q=new Quadrangle();
Parallelogram x=(Parallelogram)q;
}
}
使用显式转换实现向下转型,
使用instanceof操作符判断对象类型
if(a instanceof int){
int b=(int)a;
}
判断是否是int类型,如果不是并实现转换;(常用于判断父类子类对象类型)
方法的重载
在一个类中允许存在多个同名的方法,只要方法的参数类型,个数,返回值类型不同都可以同时存在;
public int main(int x,int y){
return a;
}
多态性
利用多态使程序具有更好的扩展性,并对所有类对象进行通用性处理;
抽象类和接口
抽象类定义方法:
public abstract class text{
abstract void textabstract(){
//something
}
}
接口定义方法:
public interface text{
//something;
}
java中不允许多继承,但可以继承多个接口;
public class text implements text2{
//something;
}
抽象类和接口中都没有定义具体的方法,只是定义了抽象的方法,等在具体的类中实现,
这个是一章完整的Java类与继承的总结,
忙了一下午,希望能在晚餐吃个鸡蛋,哈哈哈,不错呦,