Java小白入门教程:封装、继承、多态、重载、重写、抽象、接口

news/2025/2/2 20:33:42 标签: java, 开发语言

目录

一、封装(Encapsulation)

基本语法举例

真实实例

二、继承(Inheritance)

基本语法举例

真实实例

三、多态(Polymorphism)

基本语法举例

真实实例

四、重载(Overloading)

基本语法举例

真实实例

五、重写(Overriding)

基本语法举例

真实实例

六、抽象(Abstraction)

基本语法举例

真实实例

七、接口(Interface)

基本语法举例

真实实例


一、封装(Encapsulation)

        封装就像把东西装进盒子里,只留下一些口子(方法)让别人使用,而不让别人直接看到或修改盒子里的东西(属性)。

基本语法举例

public class Person {

    private String name; // 私有属性

    public String getName() { // 公共方法,获取属性

        return name;

    }

    public void setName(String name) { // 公共方法,设置属性

        this.name = name;

    }

}

真实实例

java">Person person = new Person();

// 设置名字
person.setName("张三");

// 获取名字
System.out.println(person.getName());

二、继承(Inheritance)

继承就像儿子继承了父亲的财产,儿子不仅有父亲的所有东西,还可以增加自己的东西。

基本语法举例

public class Animal { // 父类

    public void eat() {

        System.out.println("动物吃东西");

    }

}

public class Dog extends Animal { // 子类

    public void bark() {

        System.out.println("狗叫");

    }

}

真实实例

java">Dog dog = new Dog();

// 继承自Animal的方法
dog.eat();

// Dog类自己的方法
dog.bark();

三、多态(Polymorphism)

        多态就像是同一个名字(方法名)可以有不同的行为(方法实现),就像一个演员可以扮演不同的角色。

基本语法举例

public class Animal {

    public void sound() {

        System.out.println("动物发出声音");

    }

}

public class Dog extends Animal {

    @Override

    public void sound() {

        System.out.println("汪汪汪");

    }

}

public class Cat extends Animal {

    @Override

    public void sound() {

        System.out.println("喵喵喵");

    }

}

真实实例

java">Animal dog = new Dog();

Animal cat = new Cat();

// 输出:汪汪汪
dog.sound(); 

// 输出:喵喵喵
cat.sound(); 

四、重载(Overloading)

        重载就像是同一个人(同一个类)有多个名字(多个方法名),但每个名字有不同的用途(参数列表不同)。

基本语法举例

public class Calculator {

    public int add(int a, int b) {

        return a + b;

    }

    public double add(double a, double b) {

        return a + b;

    }

}

真实实例

java">Calculator calc = new Calculator();

 // 调用第一个add方法
int sum1 = calc.add(5, 10);

// 调用第二个add方法
double sum2 = calc.add(5.5, 10.1); 

五、重写(Overriding)

        重写就像是儿子(子类)不同意父亲(父类)的做法,儿子用自己的方式(方法实现)去做同样的事情(方法名)。

基本语法举例

public class Animal {

    public void sound() {

        System.out.println("动物发出声音");

    }

}

public class Dog extends Animal {

    @Override

    public void sound() {

        System.out.println("汪汪汪");

    }

}

真实实例

java">Animal animal = new Dog();

// 输出:汪汪汪,而不是动物发出声音
animal.sound();

六、抽象(Abstraction)

        抽象就像是你只关心一个事物的主要特征,而不关心它的具体细节。

基本语法举例

public abstract class Animal {

    public abstract void sound(); // 抽象方法,没有具体实现

}

public class Dog extends Animal {

    @Override

    public void sound() {

        System.out.println("汪汪汪");

    }

}

真实实例

java">Animal dog = new Dog();

// 输出:汪汪汪
dog.sound();

七、接口(Interface)

        接口就像是一份合同,规定了你能做什么(方法),但不关心你怎么做(实现)。

基本语法举例

public interface Animal {

    void sound(); // 接口中的方法默认是抽象的

}

public class Dog implements Animal {

    @Override

    public void sound() {

        System.out.println("汪汪汪");

    }

}

真实实例

java">Animal dog = new Dog();

// 输出:汪汪汪
dog.sound(); 

http://www.niftyadmin.cn/n/5840280.html

相关文章

蓝桥杯算法笔记|差分学习

&#xff01;前情回顾 前缀和18437蓝桥账户中心 练习代码&#xff1a; #include <iostream> using namespace std; int main() {// 请在此输入您的代码int n,q;cin>>n>>q;int a[n];for(int i0;i<n;i){cin>>a[i];}int sum[n];sum[0]a[0];for(int …

SQL进阶实战技巧:如何构建用户行为转移概率矩阵,深入洞察会话内活动流转?

目录 1 场景描述 1.1 用户行为转移概率矩阵概念 1.2 用户行为转移概率矩阵构建方法 (1) 数据收集

C语言怯魅——指针和数组

C语言怯魅——指针和数组 指针—— C的精华&#xff0c;也是重难点&#xff0c;很多人将C作为入门语言&#xff0c;指针往往成了新手入门编程的拦路虎。 其本质很简单&#xff0c;但由于衍生出来的用法多样&#xff0c;知晓如何以及何时使用指针并不简单。 以下是我个人的一些经…

lstm代码解析1.2

在使用 LSTM&#xff08;长短期记忆网络&#xff09;进行训练时&#xff0c;model.fit 方法的输入数据 X 和目标数据 y 的形状要求是不同的。具体来说&#xff1a; 1. 输入数据 X 的形状 LSTM 层期望输入数据 X 是三维张量&#xff0c;形状为 (samples, timesteps, features)…

upload labs靶场

upload labs靶场 注意:本人关卡后面似乎相比正常的关卡少了一关&#xff0c;所以每次关卡名字都是1才可以和正常关卡在同一关 一.个人信息 个人名称&#xff1a;张嘉玮 二.解题情况 三.解题过程 题目&#xff1a;up load labs靶场 pass 1前后端 思路及解题&#xff1a;…

【Docker】dockerfile识别当前构建的镜像平台

在编写dockerfile的时候&#xff0c;可能会遇到需要针对不同平台进行不同操作的时候&#xff0c;这需要我们对dockerfile进行针对性修改。 比如opencv的依赖项libjasper-dev在ubuntu18.04上就需要根据不同的平台做不同的处理&#xff0c;关于这个库的安装在另外一篇博客里面有…

Miniconda 安装及使用

文章目录 前言1、Miniconda 简介2、Linux 环境说明2.1、安装2.2、配置2.3、常用命令2.4、常见问题及解决方案 前言 在 Python 中&#xff0c;“环境管理”是一个非常重要的概念&#xff0c;它主要是指对 Python 解释器及其相关依赖库进行管理和隔离&#xff0c;以确保开发环境…

react redux监测值的变化

现在想了解如何在React Redux中监测值的变化。他们之前已经讨论过使用useSelector来获取状态&#xff0c;但可能对如何有效监听状态变化的具体方法还不够清楚。需要回顾之前的对话&#xff0c;看看用户之前的需求是什么。 用户之前的问题涉及将Vue的响应式设备检测代码转换为Re…