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日

相关文章

  • Spring Security中用JWT退出登录时遇到的坑

    Spring Security是一个非常流行的安全框架,用于在Spring应用程序中实现身份验证和授权。JWT是一种用于在不同的系统之间安全传输信息的方式。在使用Spring Security和JWT时,退出登录是常见的操作之一,但处理起来可能会遇到一些问题。下面我会详细讲解在Spring Security中使用JWT退出登录时可能遇到的坑,包括原因和解决方…

    Java 2023年5月20日
    00
  • 方法区的作用是什么?

    以下是关于 Java 方法区的详细讲解和使用攻略: 方法区的作用是什么? Java 方法区是一种用于存储已加载类信息、常量、静态变量、即时编编译后的代码数据的内存区域。方法区是线程共享的,其大小可以通过 -XX:MetaspaceSize 参数进行设置。 方法区的使用攻略 使用 Java 方法区,需要注意以下几点: 在程序开发中,需要合理使用内存,避免出现内…

    Java 2023年5月12日
    00
  • Nginx启用压缩及开启gzip 压缩的方法

    启用gzip压缩是一种优化网络传输的有效方法,可以减少数据传输的大小,提高性能。Nginx作为一种快速而灵活的Web服务器,支持压缩和gzip模块,并且可以通过简单的配置启用。 以下是Nginx启用gzip压缩的步骤: 1. 检查Nginx是否支持gzip模块 在nginx的安装目录下运行命令 nginx -V 可以列出所有编译参数,以及当前nginx所支持…

    Java 2023年6月15日
    00
  • android和服务器的URLEncodedUtils乱码编码问题的解决方案

    下面是一份关于”Android和服务器的URLEncodedUtils乱码编码问题的解决方案”的攻略: 什么是URL编码 URL是Uniform Resource Locator(统一资源定位符)的缩写。作为一种标准协议,URL规范了地址输入的格式,使得网页能够显示和访问;而URL编码就是在URL中使用一些特殊格式的字符时,进行的一种转义编码。 一般而言,在…

    Java 2023年5月20日
    00
  • java使用jacob实现word转pdf

    Java使用Jacob可以实现将Word文档转换为PDF格式的功能。下面是具体的步骤: 准备工作 首先,需要在Java项目中引入Jacob的jar包。可以从官方网站(https://sourceforge.net/projects/jacob-project/ )下载,或者使用Maven进行依赖管理: <dependency> <group…

    Java 2023年6月15日
    00
  • SpringBoot整合SpringDataJPA

    Spring Boot整合Spring Data JPA Spring Data JPA是Spring Framework的一部分,它提供了一种简单的方式来访问关系型数据库。Spring Boot提供了对Spring Data JPA的自动配置支持,使得整合Spring Data JPA变得非常简单。在本文中,我们将介绍如何使用Spring Boot整合Sp…

    Java 2023年5月15日
    00
  • Java通过接口实现匿名类的实例代码

    在Java中,通过接口可以实现匿名类的实例代码。这可以帮助我们更加灵活地使用接口,并且避免在代码中大量声明类的情况。下面是实现这个过程的完整攻略: 步骤一:创建一个接口 首先,需要创建一个接口。接口是一个抽象的数据类型,它定义类应该实现的方法,但并不提供实现细节。这意味着在接口中声明的方法将在实现接口的类中被实现。 一个示例接口的代码如下: public i…

    Java 2023年5月19日
    00
  • SpringMVC拦截器运行原理及配置详解

    下面我就来详细讲解一下“SpringMVC拦截器运行原理及配置详解”。我们先从原理讲起。 SpringMVC拦截器运行原理 SpringMVC拦截器是一个非常重要的概念,它在SpringMVC框架的基础上进行了一定的封装,可以对请求进行拦截和处理。在SpringMVC中,可以通过实现拦截器接口,来实现自己的拦截器。 SpringMVC拦截器在处理流程中的位置…

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