对java继承关系的学习

一、父类和子类的继承关系
利用继承,可以先编写一个共有属性的一般类,根据该一般类再编写具有特殊属性的新类,新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为。
由继承而得到的类称为子类,被继承的类称为父类(超类)。
子类继承父类是对父类属性和方法的全面继承,同时子类在继承了父类的方法后,可对父类的方法进行重写。
例:
父类:
public class dongwu {
public int legs;
boolean say;
}
子类:
public class dog extends dongwu {
}
二、权限修饰符:private,default,protected,public
访问权限 类 包 子类 其他包

public     ∨   ∨   ∨     ∨

protect    ∨   ∨   ∨     ×

default    ∨   ∨   ×     ×

private    ∨   ×   ×     ×

三、extends
extends用于(单)继承一个类(class)。 理解继承是理解面向对象程序设计的关键。在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。在Java中不允许多继承。
例:

  1. public class dongwu {
    public int legs;
    boolean say;
    }

  2. public class dog extends dongwu {
    }
    2会继承1里面的legs和say。
    四、抽象类
    abstract是一个修饰符,可以修饰方法,类。当我们存在多个类中相同的功能,但具体实现不同的时候,我们这时候向上抽取方法的定义而不抽取主体部分。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。在abstract class方式中,Demo可以有自己的数据成员,也可以有非abstract的成员方法,abstract class在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。abstract class在Java语言中体现了一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is a"关系,即父类和派生类在概念本质上应该是相同的。
    抽象类:有可以普通方法也可以有抽象方法 abstract extends
    例:
    1.public abstract class people {
    abstract void say();
    int getLeg(){
    return 2;
    }
    }
    2.public class china extends people{

    @Override
    void say() {
    System.out.println(“你好”);
    }

}
3.public class English extends people{
@Override
void say() {
System.out.println(“Holle”);
}
}
五、接口
接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全也变相实现了多继承。Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new 运算符实例化一个接口。
接口:只可以有抽象方法interface和implements。
例:
1.public interface Usb{
void getConnection();
void closeConnection();
}
2.public class computer implements Usb{
@Override
public void getConnection() {
}
@Override
public void closeConnection() {
}
}
3.public class TV implements Usb {
@Override
public void getConnection() {
System.out.println(“获得电视剧连接”);
}
@Override
public void closeConnection() {
System.out.println(“关闭计算机连接”);
}

}
1是接口,2和3都是继承1的内容。
六、getter和setter
get和set就是java中的封装技术。首先我们需要知道,一旦一个变量被“private”私有化了,那么在其他类文件就不能引用(使用)它。使用“private”是把被使用的变量保护起来,使别人不知道这个变量的名称是什么,有保护的作用。
用setter来改变数据成员的值时,操作必须由这个对象自己来触发。
在这里插入图片描述
在这里插入图片描述
七、toString
toString通常只是为了方便输出
在这里插入图片描述
上图是为了输出下图的数据。在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值