继承
- 继承是为了在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核心:接口和实现分离,面向接口编程。
还要继续学习!