Java中类的定义和初始化示例详解

下面是“Java中类的定义和初始化示例详解”的完整攻略:

类的定义

在Java中,类是用来封装数据和行为的一种机制。类的定义使用关键字class,如下所示:

public class ClassName {
    // 类体
}

其中,public是修饰符,表示该类对于其他类可见。ClassName是类名,为了符合命名规范,应该采用驼峰命名法。类体包含了成员变量和成员方法等定义。

类的成员变量

成员变量是定义在类中,方法的外部的变量。成员变量的定义形式如下:

public class ClassName {
    public int age; // 定义一个公有的整型成员变量age
    private String name; // 定义一个私有的字符串成员变量name
}

其中,publicprivate是修饰符,用来限定变量的访问权限。intString表示变量的数据类型,agename则是变量名。

类的成员方法

成员方法是定义在类中的方法,用于封装类的行为。成员方法定义如下:

public class ClassName {
    public void sayHello() { // 定义一个公有的无返回值方法sayHello
        System.out.println("Hello world!"); // 方法体
    }
    private void sayGoodbye() { // 定义一个私有的无返回值方法sayGoodbye
        System.out.println("Goodbye!"); // 方法体
    }
}

其中,publicprivate是修饰符,同样用来限定方法的访问权限。void表示该方法无返回值。sayHellosayGoodbye则是方法的名称。

类的初始化

Java中,类的初始化主要包括两个过程:类的加载和类的初始化。类的加载是指将类的.class文件加载到内存中,而类的初始化则是指为类的成员变量赋初值和执行静态代码块的过程。

类的成员变量的初始化有以下两种方式:

  1. 声明的时候初始化
public class Person {
    public String name = "张三"; // 声明变量的同时赋初值
    public int age = 18;
}
  1. 在构造方法中初始化
public class Person {
    public String name;
    public int age;
    public Person(String name, int age) { // 构造方法
        this.name = name;
        this.age = age;
    }
}

在类的文本中初始化静态变量:

public class Person {
    public static String school = "清华大学"; // 定义一个静态变量
}

在类的文本中初始化静态代码块:

public class Person {
    static {
        System.out.println("静态代码块执行了");
    }
}

类的使用示例

下面是两个使用示例:

示例1

假设我们要定义一个点的类,包含点的横坐标和纵坐标。定义如下:

public class Point {
    private int x;
    private int y;
    public Point(int x, int y) { // 构造方法
        this.x = x;
        this.y = y;
    }
    public int getX() { // 获取横坐标
        return x;
    }
    public void setX(int x) { // 设置横坐标
        this.x = x;
    }
    public int getY() { // 获取纵坐标
        return y;
    }
    public void setY(int y) { // 设置纵坐标
        this.y = y;
    }
}

使用如下:

public class Test {
    public static void main(String[] args) {
        Point p = new Point(1, 2); // 创建一个新的Point对象
        System.out.println("x:" + p.getX() + " y:" + p.getY()); // 输出结果:x:1 y:2
        p.setX(3); // 设置横坐标为3
        p.setY(4); // 设置纵坐标为4
        System.out.println("x:" + p.getX() + " y:" + p.getY()); // 输出结果:x:3 y:4
    }
}

示例2

假设我们要定义一个学生的类,包含学号、姓名、年龄和学校。定义如下:

public class Student {
    private int id;
    private String name;
    private int age;
    private static String school = "清华大学";
    public Student(int id, String name, int age) { // 构造方法
        this.id = id;
        this.name = name;
        this.age = age;
    }
    public int getId() { // 获取学号
        return id;
    }
    public void setId(int id) { // 设置学号
        this.id = id;
    }
    public String getName() { // 获取姓名
        return name;
    }
    public void setName(String name) { // 设置姓名
        this.name = name;
    }
    public int getAge() { // 获取年龄
        return age;
    }
    public void setAge(int age) { // 设置年龄
        this.age = age;
    }
    public static String getSchool() { // 获取学校
        return school;
    }
}

使用如下:

public class Test {
    public static void main(String[] args) {
        Student s = new Student(1001, "张三", 18); // 创建一个新的Student对象
        System.out.println("id:" + s.getId() + " name:" + s.getName() + " age:" + s.getAge() + " school:" + Student.getSchool()); // 输出结果:id:1001 name:张三 age:18 school:清华大学
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中类的定义和初始化示例详解 - Python技术站

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

相关文章

  • java使用链表实现约瑟夫环

    Java使用链表实现约瑟夫环 什么是约瑟夫环 约瑟夫环(Josephus problem)是一个有名的问题。传说中,约瑟夫和他的39个朋友圈在一个洞穴中,被罗马军队包围。他们决定集体死了,不肯去做罗马的奴隶。约瑟夫是一个退役士兵,提议从一个人开始,每隔三个人就杀掉一个人。由他开始,最后剩下一个人,他可以叫作胜利。现在问你,应该站在哪个位置,才能够成为那个幸存…

    Java 2023年5月26日
    00
  • SpringBoot整合SpringDataRedis的示例代码

    针对SpringBoot整合SpringDataRedis的示例代码,我来进行详细讲解。以下是完整攻略: 1. 引入依赖 在 pom.xml 文件中引入 Spring Data Redis 的依赖: <dependency> <groupId>org.springframework.boot</groupId> <a…

    Java 2023年5月20日
    00
  • Spring bean配置单例或多例模式方式

    下面是关于Spring bean配置单例或多例模式的完整攻略以及两条示例。 Spring Bean的单例和多例模式 在Spring中,Bean的单例和多例模式是非常重要的概念。默认情况下,Spring Bean是单例的。也就是说,当一个Bean被创建时,Spring会创建一个实例,并在容器中重复使用这个实例,直到该Bean从容器中被移除。然而,有时候我们可能…

    Java 2023年5月19日
    00
  • 解决Springboot-application.properties中文乱码问题

    解决 Springboot-application.properties 中文乱码问题需要遵循以下步骤: 步骤一:修改 IDE 编码 在开始修改 Springboot-application.properties 文件之前,首先需要确保 IDE 的编码设置正确。因为如果 IDE 的编码设置不正确,无论怎么修改 Springboot-application.p…

    Java 2023年5月20日
    00
  • java基础之 Arrays.toString()方法详解

    Java基础之Arrays.toString()方法详解 概述 在Java中,Arrays.toString()方法可以将一个数组转换成字符串的形式。这个方法非常方便,可以用于快速打印出数组的内容,也可以用于输出数组的值到日志文件中。 语法 数组转换成字符串的语法如下: public static String toString(Object[] a) 方法…

    Java 2023年5月26日
    00
  • 宝塔面板配置及部署javaweb教程(全网最全)

    宝塔面板配置及部署javaweb教程(全网最全) 本教程介绍如何使用宝塔面板快速配置及部署javaweb应用。 步骤一:安装宝塔面板 访问宝塔官网[https://www.bt.cn/],下载适用于您服务器系统的安装包。 将下载好的安装包上传到服务器,执行安装命令。 按照提示进行安装即可。 步骤二:添加网站 登录到宝塔面板后台。 点击左侧导航栏中的“网站”,…

    Java 2023年5月19日
    00
  • Java根据控制台实现定位异常

    下面是关于“Java根据控制台实现定位异常”的完整攻略: 1. 什么是控制台? 控制台指的是操作系统提供的一种命令行界面,用户可以在其中通过命令执行一些操作或查看一些信息。在Java中,System.out和System.err就是控制台输出的方式。 2. 为什么要根据控制台来定位异常? 在Java程序运行时,如果发生异常,通常会在控制台输出相关的错误信息。…

    Java 2023年5月27日
    00
  • Spring MVC之DispatcherServlet_动力节点Java学院整理

    Spring MVC之DispatcherServlet_动力节点Java学院整理 概述 Spring MVC 是 Spring Framework 的一个模块,它使用了模型-视图-控制器(MVC)架构模式,使 Web 架构上变得更加清晰。Spring MVC 需要一个前端控制器来作为入口点,这个控制器称为 DispatcherServlet。 在本文中,我…

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