Java十分钟精通类 封装 继承

Java 十分钟精通类 封装 继承

Java 是面向对象编程语言,其中类、封装和继承是 OOP 的核心概念。在本文中,我们将介绍如何使用 Java 快速掌握这些概念。

在 Java 中,类是一种用于描述对象的结构。通过类定义,我们可以定义一个对象的属性和行为,从而为对象提供一个有意义的结构。Java 中的类定义如下:

public class ClassName {
    // 声明属性
    private int num;
    private String name;

    // 构造函数
    public ClassName(int num, String name) {
        this.num = num;
        this.name = name;
    }

    // 声明方法
    public void sayHello() {
        System.out.println("Hello, I am " + num + " " + name + "!");
    }
}

在这个示例中,我们定义了一个名为 ClassName 的类。该类有两个属性,分别是 numname,以及一个构造函数和一个方法。在构造函数中,我们为对象的属性赋初值。在 sayHello 方法中,我们通过访问对象的属性来打印输出一条消息。

示例 1:使用类生成对象和调用方法

ClassName obj = new ClassName(1, "Alice");
obj.sayHello();

在这个示例中,我们创建了一个名为 obj 的对象,并且调用了 sayHello 方法。在输出中,我们将会看到一条包含 1Alice 的消息。

封装

封装是指保护代码和数据不被外部访问到。在 Java 中,我们可以对类中的属性和方法设置访问权限,以控制哪些代码可以访问它们。

Java 中的访问权限主要有四种:public、protected、default 和 private。其中 public 表示该属性或方法可以被所有类的代码访问到,而 private 表示只有当前类的代码可以访问到。其他两种访问权限则位于这两个之间。

示例 2:使用封装保护属性

public class Student {
    // 声明属性
    private int id;
    private String name;
    private int age;

    // 构造函数
    public Student(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    // 声明方法
    public void display() {
        System.out.println("ID:" + id + " Name:" + name + " Age:" + age);
    }
}

在这个示例中,我们定义了一个名为 Student 的类,并将 idnameage 属性设置为 private。这样就保护了这些属性,禁止了其他类的代码直接访问。同时,我们还定义了一个 display 方法,通过这个方法来访问这些属性。

示例 3:调用保护的属性

Student student = new Student(1, "Alice", 18);
student.display();

在这个示例中,我们创建了一个名为 student 的对象,并调用了 display 方法。在输出中,我们将会看到一条包含 1Alice18 的消息。

继承

继承是指一个类可以从另一个类中继承属性和方法。被继承的类被称为父类,继承这些属性和方法的类被称为子类。在 Java 中,我们可以使用关键字 extends 来实现继承。

示例 4:使用继承创建子类

public class Teacher extends Student {
    // 声明属性
    private String subject;

    // 构造函数
    public Teacher(int id, String name, int age, String subject) {
        super(id, name, age); // 调用父类的构造函数
        this.subject = subject;
    }

    // 声明方法
    public void display() {
        super.display(); // 调用父类的 display() 方法
        System.out.println("Subject:" + subject);
    }
}

在这个示例中,我们定义了一个名为 Teacher 的子类,并通过关键字 extends 来继承了 Student。在构造函数中,我们调用了父类的构造函数,并为 subject 属性赋初值。在 display 方法中,我们调用了父类的 display 方法,并在之后输出了 subject 的值。

示例 5:使用子类

Teacher teacher = new Teacher(2, "Bob", 28, "Math");
teacher.display();

在这个示例中,我们创建了一个名为 teacher 的对象,并输出了这个对象的信息。在输出中,我们将会看到一个包含 2Bob28Math 的消息,这些信息是继承自 Student 的。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java十分钟精通类 封装 继承 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Java SpringBoot快速集成SpringBootAdmin管控台监控服务详解

    Java SpringBoot快速集成SpringBootAdmin管控台监控服务 简介 Spring Boot Admin 是一个用于管理和监控 Spring Boot 应用程序的开源软件,通过 Spring Boot 的自动配置,只需要添加一个或者几个依赖就可以快速实现应用程序的管控台监控。 在本文中,我们将介绍如何快速集成 Spring Boot Ad…

    Java 2023年5月19日
    00
  • 关于springboot整合swagger问题及解决方法

    标题:关于SpringBoot整合Swagger问题及解决方法 一、背景介绍 在Web应用的开发过程中,文档的撰写和维护是一项繁琐而必要的工作。而Swagger是一种API文档生成工具,它可以自动创建文档,减少文档维护的工作量。在SpringBoot项目中,Swagger也是一种常用的文档生成工具。本文将介绍在SpringBoot项目中使用Swagger出现…

    Java 2023年6月15日
    00
  • 详解Java如何实现一个像String一样不可变的类

    要实现一个像String一样不可变的Java类,包括以下几个步骤: 1. 将类声明为final和所有字段声明为private public final class ImmutableClass { private final String field1; private final int field2; public ImmutableClass(Stri…

    Java 2023年5月26日
    00
  • Java多线程实现模拟12306火车站售票系统

    了解Java多线程和模拟火车站售票系统的开发者可以通过以下步骤实现: 步骤一:创建火车站售票系统的框架 开发者需要创建一个完整的火车站售票系统框架,需要包含以下几个模块: 模块一:火车站模块 这个模块包括火车站的基本信息,例如火车站名称、火车站位置等。同时,这个模块还需要包括火车站售票相关的方法,例如查询余票数量、购票等。 模块二:列车模块 这个模块包括列车…

    Java 2023年5月19日
    00
  • SpringBoot java-jar命令行启动原理解析

    针对“SpringBoot java-jar命令行启动原理解析”的完整攻略,下文将给出具体的讲解,包括命令行启动的原理、启动过程和相关示例。 命令行启动的原理 Spring Boot是基于Spring框架之上的一个集成框架,它的启动原理主要依赖于Spring框架的启动机制。在命令行中通过java命令启动Spring Boot会执行以下步骤: 使用Java命令…

    Java 2023年5月19日
    00
  • JSP的setProperty的使用方法

    下面是详细讲解“JSP的setProperty的使用方法”的完整攻略。 JSP的setProperty的使用方法 在JSP页面中,可以通过使用<jsp:useBean>标签实例化JavaBean,并使用<jsp:getProperty>和<jsp:setProperty>标签来访问和设置JavaBean的属性。本文将介绍如…

    Java 2023年6月15日
    00
  • springboot数据库密码加密的配置方法

    当我们在使用SpringBoot开发项目中,经常需要对数据库的密码进行加密,以保障密码信息的安全。下面是一份完整的攻略,讲解了使用SpringBoot 加密数据库密码的配置方法。 第一步:依赖 在pom.xml中添加如下模块依赖: <dependency> <groupId>com.ulisesbocchio</groupId&…

    Java 2023年5月19日
    00
  • Mybatis动态SQL之if、choose、where、set、trim、foreach标记实例详解

    针对“Mybatis动态SQL之if、choose、where、set、trim、foreach标记实例详解”,我们来进行一次完整的攻略。 1. 动态SQL的概述 在Mybatis中,动态SQL用于将不同的SQL语句组合在一起,以便在运行时决定使用哪一个SQL语句。Mybatis使用了一些标记来支持动态SQL,包括if、choose、where、set、tr…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部