您的位置:首页 > 编程语言 > Java开发

JAVA学习日记每天进步一点点之接口、继承 与多态

2019-03-26 16:28 676 查看

继承

  • 继承是为了在java开发的时候复用一些已经定义好的完善的类,在继承此类的属性,成员方法的同时我们可以新增成员方法,修改原本的成员方法
  • 关键字extends来标识两个类的继承关系
  • 构造方法:子类可以用super()来调用父类的构造方法(有参),super().调用父类的成员方法,对子类进行实例化操作的时候会自动调用父类无参的构造方法
  • 重写:在子类中保留父类成员方法的名称,重写实现内容,更改成员方法的存储权限,返回值类型等(其中:修改方法的修饰权限只能从范围小到大,同一方法子类的返回值类型必须为父类返回值类型的子类)
  • 子类中可以通过父类的对象调用父类的非私有属性,

区块链理解

区块链本质上是解决信任问题、降低信任成本的技术方案。
区块链是一种分布式数据库,是一串使用密码学方法相关联产生的数据块,每个数据块都包含了一次网络交易信息,用于验证其信息的有效性和生成下一个区块。
#几张图看懂区块链是什么?

Object类

  • 是所有类的父类,是爸爸。包括的方法有equals()(比较两个对象的引用地址),toString()将一个对象返回为字符串形式,返回一个sting实例

对象类型的转化

  • 向上转型:父类名 a = new 子类名(),左边是声明为父类的对象,右边用子类实例化,所以满足子类的实例化的对象肯定也是父类的对象,逻辑是从具体到抽象,因此行的通。
  • 向下转型:越具体的对象特性越多,抽象则很少,所以向下转换必须要显式类型转换。(类型)对象名
  • instanceof:用法myobject instanceof Exampleclass;判断对象是不是父类的子类,返回Boolean型

方法的重载

方法名相同,参数个数不同、参数类型以及参数顺序不同;利用相同的成员方法名解决不同参数的问题。不定长参数方法:返回值 方法名(参数数据类型…参数名称)

多态

在父类中,写方法,参数为父类对象,通过向上转型的思想,在主函数里面,将子类对象应用方法,实现一个方法完成子类所有对象的操作。例如四边形类,里面有画四边形的方法,此方法也可以用于画平行四边形和正方形,只要在主函数里面调用draw函数把对象换成平行四边形和正方形就好。这就是多态的思想。

public class Sibianxing {
public static void draw(Sibianxing p) {
System.out.println("画出"+p);
}

@SuppressWarnings("static-access")
public static void main(String[] args) {
Sibianxing a =new Sibianxing();
a.draw(new Parallel());
a.draw(new Zhengfang());
}
}
class Parallel extends Sibianxing{
public Parallel(){
System.out.println("平行四边形");
}

}
class Zhengfang extends Sibianxing{
public Zhengfang(){
System.out.println("正方形");
}

}

抽象类和接口

抽象类除了被继承毫无意义。类中只要包含抽象方法就是抽象类,继承抽象类的子类必须要覆盖抽象方法。
接口可以看作为纯粹的抽象类,接口内所有方法都没有方法体。例:

public interface drawTest{
void draw()
}

interface为关键字
接口为Java核心:接口和实现分离,面向接口编程。
还要继续学习!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: