java-se-02

java

1 封装

封装:一种将抽象性函式接口的视线细节部分包装、隐藏起来的部分

封装的优点:

  1. 良好的封装能够减少耦合
  2. 类内部的结构可以自由修改
  3. 可以对成员变量进行更精确的控制
  4. 隐藏信息,实现细节

2 继承

  • extends:只能继承一个类
public class Animal { 
    private String name;   
    private int id; 
    public Animal(String myName, int myid) { 
        //初始化属性值
    } 
    public void eat() {  //吃东西方法的具体实现  } 
    public void sleep() { //睡觉方法的具体实现  } 
} 
 
public class Penguin  extends  Animal{ 
}
  • implements:可以变相的使java具有多继承的特性,使用范围为类继承接口的情况
public interface A {
    public void eat();
    public void sleep();
}
 
public interface B {
    public void show();
}
 
public class C implements A,B {
}

super 与 this 关键字

super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类

this关键字:指向自己的引用,引用当前对象,即它所在的方法获构造函数所属的对象实例

class Animal {
    void eat() {
        System.out.println("animal : eat");
    }
}
 
class Dog extends Animal {
    void eat() {
        System.out.println("dog : eat");
    }
    void eatTest() {
        this.eat();   // this 调用自己的方法
        super.eat();  // super 调用父类方法
    }
}
 
public class Test {
    public static void main(String[] args) {
        Animal a = new Animal();
        a.eat();
        Dog d = new Dog();
        d.eatTest();
    }
}

final 修饰的变量、方法和类

构造器

子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显示)。如果父类的构造器带有参数,则必须在子类的构造器中显示地通过super关键字调用父类的构造器并配以适当的参数列表。

3 多态

多态是同一个行为具有多个不同表现形式或形态的能力

多态就是一个接口,使用不同的实例而执行不同操作

多态存在的三个必要条件:

  1. 继承
  2. 重写
  3. 父类引用指向子类对象:Parent p = new Child();

多态实现的方式:

  1. 重写
  2. 接口
  3. 抽象类和抽象方法

3.1 Override/Overload

Override:重写,实在子类存在方法与父类的方法的名字相同,而且参数的数量不同或数量相同而类型和次序不同

Overload:重载,是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。

总结:方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现

3.2 抽象类(abstract)

  1. 抽象类不能被实例化,只有抽象类的非抽象子类可以创建对象。
  2. 抽象类不一定包含抽象方法,但是抽象方法的类必定是抽象类
  3. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能
  4. 构造方法,类方法(用static修饰的方法)不能声明为抽象方法
  5. 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类

3.3 接口

  1. 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行
  2. 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的
  3. 接口中不能含有静态代码块以及静态方法(用static修饰的方法),而抽象类是可以有静态代码和静态方法
  4. 一个类只能继承一个抽象类,而一个类却可以实现多个接口
posted @ 2025-01-10 17:17  Brownjy  阅读(40)  评论(0)    收藏  举报