继承 多态 抽象类 接口

本文详细介绍了Java中的包、继承、组合、多态、抽象类和接口的概念及其应用。包是组织类的方式,用于保证类的唯一性。继承允许子类重用父类的功能,多态则是父类引用指向子类实例时的表现。抽象类包含抽象方法,不能直接实例化,而接口则完全由抽象方法组成,可以实现多继承。
摘要由CSDN通过智能技术生成

面向对象编程

包(package)是组织类的一种方式。
使用包的主要目的是保证类的唯一性
java中已经提供给我们很多现成的类供我们选择,例如可以使用

import java.util.Data;
import java.util.Scanner;

这种方式来导入包中的某类。或者可以使用

import java.util.*;

直接导入java.util中的所有类。
but!最好用哪一个导入哪一个类。

import static可以导入包中的静态方法和字段。

继承

创造类主要是为了方便抽象现实中的一些事物(包含属性和方法),而有些客观事物之间本身就有一定的关联关系,那么在表示成类和对象的时候也会存在一定的关联。
为了防止出现大量的功能相似的冗余代码,此时就需要使用继承来达到代码重用的效果。

基本语法:

class 子类 extends 父类 { 

}
  • 使用extends来指定父类,也可以将extends理解为扩展
  • 一个子类只能继承一个父类
  • 子类会继承父类的所有public的字段和方法
  • 当父类是用private修饰的字段和方法,子类是无法访问的
  • 子类的实例中也包含父类的实例,可以使用 super 关键字来得到父类实例的引用
//父类
class Animal {
   
    public String name;
    public Animal(String name){
   
        this.name = name;
    }

    public void play(String game){
   
        System.out.println(name + "正在玩" + game);
    }
}
//子类
class Pig extends Animal{
   
    public Pig(String name){
   
        //使用super来调用父类的构造方法
        super(name);
    }
}
//子类
class Dog extends Animal{
   
    public Dog(String name){
   
        super(name);
    }

    public void sleep(){
   
        System.out.println(this.name + "正在睡觉觉");
    }
}

public class Test {
   
    public static void main(String[] args){
   
        Pig pig = new Pig("常威");
        pig.play("打来福");
        Dog dog = new Dog("来福");
        dog.sleep();
    }
}

访问权限:(重中之重)

  • private:类内部可以访问,类外部不能访问
  • 默认:类内部可以访问,同一个包中的类可以访问,其他类不能访问
  • protected:类内部可以访问,子类和同一个包中的类可以访问,其他类不能访问
  • public:类内部和类的调用者都能访问

多层继承
子类还可以进一步派生出新的子类,但最好不超过三层

class Animal{
   
	...
}
class Dog extends Animal{
   
	...
}

class OrangeDog extends Dog{
   
 	...   
}

final 关键字
final关键字,修饰一个变量或者字段的时候,表示常量,不可修改

final int a = 10;
a = 20;  //编译出错

final 关键字也能修饰类,此时被修饰的类就不能被继承

final public class Animal{
   
    ...
}

public class Cat extends Anima
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值