1. 继承 1.1 继承的实现(掌握) 继承的概念 继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法 实现继承的格式 继承通过extends实现  public class 子类名 extends 父类名{ } 格式:class 子类 extends 父类 { } 举例:class Dog extends Animal { } Fu:是父类,也被称为基类,超类 Zi:是子类,也被称为派生类 继承带来的好处 继承可以让类与类之间产生关系,子父…
内部类lambda重点摘要 内部类特点: 内部类可以直接访问外部类,包括私有 外部类访问内部类必须创建对象 创建内部对象格式: 外部类.内部类 对象名=new外部类().new内部类(); 静态内部类访问: 外部类.内部类.方法名 局部内部类: 局部内部类在方法中定义的类,外届无法直接使用,需要在方法内部创建对象并使用,该类可以直接访问外部类成员,也可以访问方法类的局部变量 私有成员内部类访问需在自己外部类中创建对象 匿名内部类: 前提: 需要一个类或者接口 格式: new 类名/接口名(){重…
浮点数的运算需要注意的问题: BigDecimal operand1 = new BigDecimal("1.0"); BigDecimal operand2 = new BigDecimal("0.8"); BigDecimal subtract = operand1.subtract(operand2); BigDecimal divide = operand1.divide(operand2); System.out.println(subtract);//结…
面向对象 Go语言开发者认为:面向对象就是特定类型(结构体)有着自己的方法,利用这个方法完成面向对象编程, 并没有提封装.继承.多态.所以Go语言进行面向对象编程时,重点在于灵活使用方法. Go语言有着自己对面向对象的理解,它也有着自己的封装.继承.多态. 5.1.封装 实例 //Learn_Go/main.go package main import ( "fmt" ) type People struct { name string age int } func (p *Peopl…
内部类 内部类是指在一个外部类的内部再定义一个类.内部类的出现,再次打破了Java单继承的局限性. 内部类可以是静态 static 的,也可用 public,default,protected 和 private 修饰.(而外部顶级类即类名和文件名相同的只能使用 public 和 default). 注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两个类. 对于一个名为outer的外部类和其内部定义的名为inner的内部类.编译完成后出现 outer.class 和outer$i…
Chapter. 5 继承 继承作为面向对象的三大特征之一,它是多态的前提.它主要解决的问题是共性抽取. Java中的继承,是单继承.多级继承的. 已存在的类,被称为超类.基类.父类(parent class):新类,被称为子类(subclass).派生类. 每一个子类的直接父亲是唯一的,但一个父亲可拥有多个子类.子类比父类拥有的功能更加丰富. 5.1 继承的格式 定义父类的格式(普通类的定义) public class 父类名称{ //... } 定义子类的格式 public class 子类…
IT第十九天 上午 继承 1.一般情况下,子类在继承父类时,会调用父类中的无参构造方法,即默认的构造方法:如果在父类中只写了有参的构造方法,这时如果在子类中继承时,就会出现报错,原因是子类继承父类时无法传入参数给父类来“实例化”父类,此时解决办法有: (1)同时在父类中加入一个无参的构造方法,但这样可能会限制子类继承父类时的参数传递 (2)在子类中也增加构造方法,并在构造方法中,使用super()对父类中的构造方法进行传参,帮助实例化,这样既可以调用无参构造方法“实例化”父类,也可以调用有参构造…
函数式接口详细定义 package java.lang; import java.lang.annotation.*; /** * An informative annotation type used to indicate that an interface * type declaration is intended to be a <i>functional interface</i> as * defined by the Java Language Specificat…
了解lambda之前先了解下什么是函数式接口,函数式接口即接口里必须有一个抽象方法(抽象的方法只能有一个,可以有其他的用default修饰的方法) jdk8里新增了一个@FunctionalInterface注解,这个注解标注此接口为函数式接口,但是并不是必须的,任何满足我上面所说的只有一个抽象方法的接口都可以称之为函数式接口,但是如果一个接口上标注了此注解,就必须满足上述条件 lambda表达式用来重写函数式接口中的那个抽象方法,有点类似匿名内部类 lambda表达式的语法包括3个部分: 1.…
Lambda表达式的类型,也被称为目标类型(targer type),Lambda表达式的目标类型必须是"函数式接口(functional interface)".函数式接口代表只包含一个抽象方法的接口.函数式接口可以包含多个默认方法.类方法,但只能声明一个抽象方法. 如果采用匿名内部类的语法来创建函数式接口,则只需要实现一个抽象方法,在这种情况下即可采用Lambda表达式来创建对象.该表达式创建出来的对象的目标类型就是这个函数式接口. Java 8 专门为函数式接口提供了@Funct…