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日

相关文章

  • EasyUI创建人员树的实例代码

    下面我将详细讲解EasyUI创建人员树的实例代码的完整攻略。 1. 引入EasyUI资源文件 首先,我们需要在HTML文件中引入EasyUI所需的资源文件,包括EasyUI库文件、CSS样式文件、jQuery库文件。代码如下: <!– 引入EasyUI库文件 –> <script type="text/javascript&q…

    Java 2023年6月15日
    00
  • 解析Tomcat 6、7在EL表达式解析时存在的一个Bug

    解析Tomcat 6、7在EL表达式解析时存在的一个Bug 背景 在使用Tomcat 6或7的过程中,若使用EL表达式进行解析,会出现下标访问时数组越界的问题。比如在表达式${array[1]}中,即使数组array的长度不足2,Tomcat也不会抛出越界异常,而是返回null。 原因 这是由于Tomcat在解析EL表达式时采用了JSP规范中的解析方式,即调…

    Java 2023年5月19日
    00
  • 基于JavaCore文件的深入分析

    基于JavaCore文件的深入分析攻略 1. 确定JavaCore文件 JavaCore文件是JVM在遇到严重错误时生成的一种二进制文件,记录了JVM在运行时栈、堆、方法、线程等状态的信息。要深入分析JavaCore文件,首先需要确定要分析的JavaCore文件。 2. 安装Java SE开发工具箱 Java SE开发工具箱(JDK)提供了jstack和jm…

    Java 2023年5月19日
    00
  • Springboot – Fat Jar示例详解

    下面我来详细讲解“Springboot – Fat Jar示例详解”的完整攻略。 简介 首先介绍一下什么是Fat Jar。简单来说,它是一个可以包含应用程序所有依赖库的大型JAR文件,因此它也被称为可执行JAR文件。SpringBoot可以使用Maven或Gradle生成Fat Jar,其他构建工具也支持类似的功能。 在使用Fat Jar时,需要做的就是提供…

    Java 2023年5月19日
    00
  • Springboot整合Freemarker的实现详细过程

    下面我将详细讲解Spring Boot整合Freemarker的实现过程。 一、添加Freemarker依赖 首先,在项目的pom.xml文件中添加Freemarker的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g…

    Java 2023年5月19日
    00
  • Java Apache Commons报错“NoSuchElementException”的原因与解决方法

    “NoSuchElementException”是Java的一个异常,通常由以下原因之一引起: 无效的迭代器:如果迭代器无效,则可能会出现此错误。在这种情况下,需要检查迭代器以解决此问题。 空列表:如果列表为空,则可能会出现此错误。在这种情况下,需要检查列表以解决此问题。 以下是两个实例: 例1 如果迭代器无效,则可以尝试检查迭代器以解决此问题。例如,在Ja…

    Java 2023年5月5日
    00
  • java 读写 ini 配置文件的示例代码

    要读写ini配置文件,我们可以使用Java的Properties类。Properties类提供了一种简单的机制来将“key-value”对存储到配置文件中,并从中检索。 以下是读取配置文件的示例代码: import java.io.FileInputStream; import java.util.Properties; public class ReadI…

    Java 2023年5月19日
    00
  • Spring MVC学习教程之视图深入解析

    “Spring MVC学习教程之视图深入解析”是一篇关于 Spring MVC 视图的深度解析的文章,主要介绍了 Spring MVC 中视图的相关知识。下文将详细讲解该文章的完整攻略。 一、文章概述 文章分为四个部分,分别是 “前言”、“视图简介”、“视图技术解析” 和 “总结”。下文将对各个部分进行详细解释。 1. 前言 文章从 Spring MVC 的…

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