首页 > 编程语言 >《深入理解 Java 类》

《深入理解 Java 类》

时间:2024-11-19 10:49:05浏览次数:3  
标签:Java 构造方法 修饰符 访问 理解 深入 方法 public

在 Java 编程中,类(Class)是构建程序的基本单元。它封装了数据和操作这些数据的方法,为代码的组织和复用提供了强大的机制。

一、Java 类的定义

一个 Java 类通常由以下几个部分组成:

  1. 类声明:使用关键字 “class” 来声明一个类,后面跟着类名。例如:class MyClass { }
  2. 成员变量:也称为属性,用于存储类的状态信息。成员变量可以是各种数据类型,包括基本数据类型和引用数据类型。例如:private int age;
  3. 方法:用于定义类的行为。方法可以接受参数,并可以返回一个值。例如:public void sayHello() { System.out.println("Hello!"); }
  4. 构造方法:用于创建类的实例。构造方法与类名相同,没有返回值。例如:public MyClass() { }

二、类的访问修饰符

Java 提供了多种访问修饰符来控制类、成员变量和方法的访问权限:

  1. public:公共访问修饰符,可以被任何类访问。
  2. private:私有访问修饰符,只能在类内部被访问。
  3. protected:受保护的访问修饰符,可以在类内部、子类和同一个包中的其他类中被访问。
  4. 默认(没有访问修饰符):只能在同一个包中的其他类中被访问。

三、成员变量和方法的访问修饰符

成员变量和方法也可以使用访问修饰符来控制其访问权限:

  1. private:只能在类内部被访问。
  2. 默认(没有访问修饰符):只能在同一个包中的其他类中被访问。
  3. protected:可以在类内部、子类和同一个包中的其他类中被访问。
  4. public:可以被任何类访问。

四、构造方法

构造方法是一种特殊的方法,用于创建类的实例。构造方法的名称与类名相同,没有返回值。构造方法可以有参数,用于初始化对象的成员变量。

例如:

class Person {
    private String name;
    private int age;

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

    public void introduce() {
        System.out.println("My name is " + name + " and I am " + age + " years old.");
    }
}

在上面的例子中,Person类有两个成员变量nameage,以及一个构造方法Person(String name, int age)和一个方法introduce()。构造方法用于初始化对象的成员变量,方法introduce()用于输出对象的信息。

五、类的继承

Java 支持类的继承,子类可以继承父类的成员变量和方法。继承可以提高代码的复用性,减少代码的重复编写。

例如:

class Student extends Person {
    private String major;

    public Student(String name, int age, String major) {
        super(name, age);
        this.major = major;
    }

    public void study() {
        System.out.println("I am studying " + major + ".");
    }
}

在上面的例子中,Student类继承了Person类,并且有一个额外的成员变量major和一个方法study()。在构造方法中,使用super关键字调用父类的构造方法来初始化父类的成员变量。

六、类的多态

多态是指同一个行为具有多种不同的表现形式。在 Java 中,多态可以通过方法重写和方法重载来实现。

  1. 方法重写:子类可以重写父类的方法,以实现不同的行为。方法重写需要满足以下条件:
    • 子类方法的名称、参数列表和返回类型必须与父类方法相同。
    • 子类方法的访问修饰符不能比父类方法更严格。

例如:

class Animal {
    public void makeSound() {
        System.out.println("Animal makes a sound.");
    }
}

class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Dog barks.");
    }
}

在上面的例子中,Dog类重写了Animal类的makeSound()方法,以实现不同的行为。

  1. 方法重载:在同一个类中,可以有多个方法具有相同的名称,但参数列表不同。方法重载可以根据不同的参数来执行不同的操作。

例如:

class Calculator {
    public int add(int a, int b) {
        return a + b;
    }

    public double add(double a, double b) {
        return a + b;
    }
}

在上面的例子中,Calculator类有两个方法add(int a, int b)add(double a, double b),它们具有相同的名称,但参数列表不同。

七、类的封装

封装是指将类的内部实现细节隐藏起来,只对外提供公共的接口。封装可以提高代码的安全性和可维护性。

在 Java 中,可以通过使用访问修饰符来实现封装。将成员变量声明为私有,并提供公共的方法来访问和修改这些成员变量。

例如:

class BankAccount {
    private double balance;

    public void deposit(double amount) {
        balance += amount;
    }

    public void withdraw(double amount) {
        if (balance >= amount) {
            balance -= amount;
        } else {
            System.out.println("Insufficient balance.");
        }
    }

    public double getBalance() {
        return balance;
    }
}

在上面的例子中,BankAccount类的成员变量balance被声明为私有,只能通过公共的方法deposit()withdraw()getBalance()来访问和修改。

八、总结

Java 类是构建程序的基本单元,它封装了数据和操作这些数据的方法。通过使用访问修饰符、构造方法、继承、多态和封装等特性,可以实现代码的复用性、可维护性和安全性。深入理解 Java 类的概念和特性,对于掌握 Java 编程至关重要。

标签:Java,构造方法,修饰符,访问,理解,深入,方法,public
From: https://blog.csdn.net/m0_72256543/article/details/143876217

相关文章

  • Java 框架:强大的开发利器
    在当今的软件开发领域,Java一直以其强大的性能、跨平台性和丰富的生态系统而备受青睐。而Java框架更是在开发过程中发挥着至关重要的作用,它们为开发者提供了高效、可维护和可扩展的开发方式。一、什么是Java框架?Java框架是一种预先编写好的代码库和工具集合,旨在帮助......
  • JAVA 继承:代码复用与功能扩展的强大机制
    在Java编程中,继承是一种非常重要的概念,它为代码复用和功能扩展提供了强大的机制。本文将深入探讨Java继承的概念、用法以及其带来的好处。一、什么是Java继承?继承是面向对象编程中的一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。子类可以扩展父类的......
  • java_1
    目录学习内容:一:变量,数据类型,运算符1.变量 2.数据类型数据类型详解:3.常量 4.运算符算数运算符:关系运算符: 位运算符:逻辑运算符:  赋值运算符: 5.Java运算符优先级: 6.Scanner的用法学习内容:一:变量,数据类型,运算符1.变量变量:变量可以变化,是放在内存中运行......
  • java日志常用配置
    <!--pom.xml--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.30</version></dependency><dep......
  • JAVA WEB 实现文件夹上传(保留目录结构)分享
    需求:大文件上传,批量上传,断点续传,文件夹上传,大文件下载,批量下载,断点下载,文件夹下载文件夹:上传下载需要支持层级结构,采用非压缩方式文件大小:100G前端:vue2,vue3,vue-cli,jquery,html,webuploader后端:JSP,springbootweb服务:tomcat数据库:mysql,oracle,达梦,国产化数据库服务......
  • Java运行环境的安装与配置 idea的安装
    安装Java的运行环境后,对于开发人员来说,只需要编写一次Java源码,就可以在任何支持Java的平台上运行,就不需要关心平台的差异和编译问题,从而大大的提高了开发效率。、一配置Java开发环境步骤1.下载JDKhttps://www.oracle.com/java/technologies/downloads/在官方网站......
  • javax.xml.ws.EndPoint报错
    可能的原因,检查下jdk版本,在jdk8>以上版本中,已经弃用该对象。 先安装jdk21,然后再安装jdk1.8,项目中有用到该对象,提示无法正常加载。(前提确保所有jar都正常引入)排查步骤,看下idea开发工具中jdk的配置版本, javax.xml.ws.EndPoint在jdk1.8版本中存在,高版本中不存在。......
  • (免费源码)计算机毕业设计必看必学 原创定制程序 java、PHP、python、小程序、文案全套
    摘 要为了方便用户快速定位自己感兴趣的国内热门旅游景点信息,国内热门景点推荐系统应运而生。本系统的前端界面主要实现页面的美观和动态效果使之符合广大群众的审美观,后台主要使用的技术主要有Java编程语言,SSM框架,MySQL数据库的旅游推荐系统解决了传统旅游推荐方式中数据......
  • 计算机毕业设计原创定制(免费送源码)Java+B/S+SSM+Web前端开发技术+IDEA+MySQL+Navicat
    摘 要信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对有风小院等问题,对有风小院信息管理进行研究分析,然后开发设计出有风小院系统以解决问题。有......
  • (分享源码)计算机毕业设计必看必学 上万套实战教程手把手教学JAVA、PHP,node.js,C++、pyth
     摘 要21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认知向理性认知提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。论文主要是对医疗门诊管理......