Java杂谈之类和对象 封装 构造方法以及代码块详解

Java杂谈之类和对象 封装 构造方法以及代码块详解

类和对象

Java是面向对象编程的语言,类是Java强大的概念之一。类是一组字段和方法的集合,用于表示某些相关的状态和行为。

在Java中,对象是类的实例。对象是通过类构造函数创建的,类构造函数定义了如何创建对象。按照惯例,类名应该以大写字母开头。

在Java中,类可以有任意数量的方法和成员,这些方法和成员的访问权限可以使用public,private和protected关键字进行控制。

封装

封装是一种面向对象编程的重要概念,它在Java中发挥着至关重要的作用。封装允许将数据和方法组合在一起,以实现良好的抽象,并提供对数据的控制访问。

在Java中,封装通过访问修饰符实现。private访问修饰符用于限制成员的访问权限,这意味着成员只能由同一类中的其他成员访问。

以下是一个示例,其中封装用于隐藏成员变量:

public class Car {
    private String model;
    private int year;

    public void setModel(String model) {
        this.model = model;
    }

    public String getModel() {
        return model;
    }

    public void setYear(int year) {
        this.year = year;
    }

    public int getYear() {
        return year;
    }
}

在上面的示例中,modelyear被声明为private。然后使用公共getter和setter方法来访问它们。这样,它们就不能在类外部直接访问。

构造方法

构造方法是在创建类实例时自动调用的特殊方法。构造方法允许向类的对象赋初始状态。在Java中,构造函数使用类名来命名。如果您没有为类编写构造函数,则Java会自动创建一个默认的构造函数。

以下是一个示例:

public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

在上面的示例中,构造方法Person接受一个参数name,并将其赋给Person类的私有成员变量name

代码块

代码块是放置一组语句的块,可以在类,实例或方法级别上声明。代码块在创建类实例或执行方法时自动执行。

以下是一个示例:

public class CodeBlockExample {
    static {
        System.out.println("Static block");
    }

    {
        System.out.println("Instance block");
    }

    public CodeBlockExample() {
        System.out.println("Constructor");
    }

    public static void main(String[] args) {
        new CodeBlockExample();
        new CodeBlockExample();
    }
}

在上面的示例中,静态代码块,实例代码块和构造函数都包含输出语句。当我们运行这个程序时,它将输出:

Static block
Instance block
Constructor
Instance block
Constructor

首先,静态代码块只在类被加载时执行一次,因此我们只看到一次“Static block”输出。接下来,我们创建了两个类实例,每个实例都触发了实例代码块和构造函数。

我们可以看到实例代码块每个实例都执行,而构造函数只执行了两次,正好与我们创建的实例数量一样。

以上就是Java杂谈之类和对象,封装,构造方法以及代码块的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java杂谈之类和对象 封装 构造方法以及代码块详解 - Python技术站

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

相关文章

  • MyBatis配置文件解析与MyBatis实例演示

    针对题目“MyBatis配置文件解析与MyBatis实例演示”的完整攻略,我来分享一下我的经验和理解。 MyBatis配置文件解析 MyBatis是一款先进的持久化框架,可以将数据存储到数据库,而其具体实现则是通过对MyBatis的配置文件进行解析从而完成的。 MyBatis的配置文件一般包含以下几个部分: 1. 对数据库连接的配置 <!– 数据库连…

    Java 2023年5月20日
    00
  • docker(一):Develop faster. Run anywhere.

    前言 在进行微服务部署时,首先需要进行部署环境的搭建。目前,Docker 已经成为了微服务部署的主流解决方案之一。Docker 可以帮助我们更快地打包、测试以及部署应用程序,从而缩短从编写到部署运行代码的周期。 在本文中,我们将对 Docker 进行初步的讲解,并介绍如何将映像生成并作为容器运行、使用 Docker Hub 共享映像。具体的功能点如下: 将映…

    Java 2023年5月11日
    00
  • Struts2实现上传单个文件功能

    Struts2实现上传单个文件功能 1. 准备工作 在Struts2中实现文件上传功能,需要添加struts2-fileupload-plugin依赖包。可以在项目的pom.xml文件中加入以下代码: <dependency> <groupId>org.apache.struts</groupId> <artifac…

    Java 2023年5月20日
    00
  • BMIDE环境导入项目报编码错误解决方案

    下面是详细的BMIDE环境导入项目报编码错误解决方案攻略: 问题描述 当我们使用BMIDE环境导入项目时,可能会遇到编码错误的问题。具体表现为打开BMIDE后,选择需要导入的项目后点击“确定”按钮,但出现了以下错误提示信息: The project description ‘`’ should be a dirname representing a loca…

    Java 2023年5月20日
    00
  • js表格分页实现代码

    下面我将为你详细讲解“JS表格分页实现代码”的完整攻略,包含以下几个部分: 准备工作 实现分页逻辑 示例说明 1. 准备工作 在开始编写代码之前,我们需要先准备好需要用到的HTML、CSS和JS文件,并进行引入。HTML文件中需要包含需要分页的表格,CSS文件中需要设定表格样式,JS文件中需要实现分页逻辑。 HTML部分代码: <table class…

    Java 2023年6月16日
    00
  • SpringBoot入坑笔记之spring-boot-starter-web 配置文件的使用

    SpringBoot入坑笔记之spring-boot-starter-web配置文件的使用 在Spring Boot中,我们可以使用spring-boot-starter-web依赖来快速构建Web应用程序。在本文中,我们将介绍如何使用spring-boot-starter-web依赖,并提供两个示例。 添加依赖 在pom.xml文件中添加以下依赖: &lt…

    Java 2023年5月15日
    00
  • Java中的代码重构如何避免异常?

    Java中的代码重构是一种重要的技术手段,可以提高代码的可读性、可维护性和可测试性。其中,如何避免异常是非常关键的一点。以下是详细的攻略: 理解代码重构的目的和原则 代码重构的目的是改善代码的质量,不影响代码功能。代码重构的原则包括:确保代码的正确性、消除代码的冗余、提高代码的可读性、提高代码的可维护性和可测试性。 意识到异常的重要性 异常是Java中一个非…

    Java 2023年4月27日
    00
  • Java计时器工具StopWatch的具体使用

    首先需要了解的是,Java计时器工具StopWatch是一个简洁、轻量级的工具,它可以用来统计代码块、方法或程序的执行时间。下面我将详细讲解它的具体使用过程: 引入StopWatch 使用StopWatch的第一步是需要引入它所在的包,具体代码如下: import org.apache.commons.lang3.time.StopWatch; 其中,org…

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