java中类和对象的知识点总结

Java 是一种面向对象的编程语言,类和对象是其中最重要的概念之一,下面是 Java 中类和对象的知识点总结的完整攻略。

类与对象的基本概念

在 Java 中,类是一种抽象的概念,其用于描述某一类事物的共同属性和行为。而对象则是实际存在的、具有一定状态和行为的个体,是类的一个实例化结果。

定义类

在 Java 中,定义一个类需要使用 class 关键字,类名通常采用大驼峰式命名法。类的定义通常由以下部分组成:

public class MyClass {
    // 成员变量
    private int number;

    // 构造器
    public MyClass(int number) {
        this.number = number;
    }

    // 成员方法
    public int getNumber() {
        return number;
    }
}

其中,public 定义了这个类是公有的,可以在包外使用;private 定义了成员变量是私有的,只能在类内部使用;this 关键字用于引用当前对象;而构造器则是用于对象的初始化过程,会在对象创建时自动调用。

创建对象

要创建一个类的对象,需要使用 new 关键字,例如:

MyClass obj = new MyClass(10);

成员变量与成员方法

类中定义的成员变量(或属性)表示某一类事物的共同属性;成员方法(或函数)则表示某一类事物的共同行为。例如:

public class Person {
    String name;
    int age;

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

    public void sayHello() {
        System.out.println("Hello, my name is " + name);
    }
}

其中,nameage 就是该类的成员变量,而 sayHello 就是该类的成员方法。

静态变量和静态方法

静态变量和静态方法是类的属性和方法,而不是对象的属性和方法,所以可以直接通过类名进行访问,不需要创建对象。例如:

public class MathUtil {
    public static final double PI = 3.14;

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

其中,PIadd 都是该类的静态属性和方法,可以直接通过类名 MathUtil.PIMathUtil.add(1, 2) 进行访问。

继承和多态

继承是 Java 中实现代码重用和类之间共享代码的一种重要机制。子类继承父类后,可以直接访问父类中的成员变量和方法,而不需要重新定义。例如:

public class Student extends Person {
    String school;

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

    @Override
    public void sayHello() {
        System.out.println("Hello, my name is " + name + ", I am a student of " + school);
    }
}

其中,StudentPerson 的子类,定义了自己的 school 属性和 sayHello 方法。而 @Override 注解表示这是一个方法的覆盖,用于强制检查是否正确地覆盖了父类的方法。该类在调用 sayHello 方法时,会根据实际对象的类型来动态决定调用哪个方法,这就是多态。

示例说明

示例一:计算圆的面积

public class Circle {
    double r;

    public Circle(double r) {
        this.r = r;
    }

    public double getArea() {
        return MathUtil.PI * r * r;
    }
}

其中,定义了一个 Circle 类用于描述圆,其属性为半径 r,方法为计算面积 getArea。该类中使用了静态变量 MathUtil.PI,该变量表示圆周长与直径比值,是一个常量。

Circle circle = new Circle(10);
double area = circle.getArea();
System.out.println(area);

上述代码可以创建一个半径为 10 的圆对象并计算其面积,结果为 314.0

示例二:设计游戏角色

public class GameCharacter {
    private String name;
    private int level;
    private int hp;
    private int mp;

    public GameCharacter(String name, int level) {
        this.name = name;
        this.level = level;
        this.hp = level * 100;
        this.mp = level * 50;
    }

    public void attack(GameCharacter target) {
        int damage = level * 10;
        target.hp -= damage;
        System.out.println(name + " attacked " + target.getName() + ", caused " + damage + " damage");
    }

    public String getName() {
        return name;
    }

    public int getLevel() {
        return level;
    }

    public int getHp() {
        return hp;
    }

    public int getMp() {
        return mp;
    }
}

其中,定义了一个 GameCharacter 类用于描述游戏角色,其属性为名称、等级、生命值和魔法值,方法为攻击和获取属性信息。在其构造器中,根据等级计算角色的生命值和魔法值。

GameCharacter hero = new GameCharacter("Hero", 1);
GameCharacter enemy = new GameCharacter("Enemy", 1);
hero.attack(enemy);

上述代码可以创建两个等级为 1 的游戏角色对象,并进行攻击,结果会输出攻击者名称、目标名称和造成的伤害值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中类和对象的知识点总结 - Python技术站

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

相关文章

  • jsp hibernate的分页代码第2/3页

    针对“jsp hibernate的分页代码第2/3页”,我将提供以下完整攻略: JSP Hibernate 分页代码攻略 什么是 JSP 分页? JSP 分页是指将大量数据分页展示在网页上,每页展示固定的数据量并提供用户进行翻页查看的方式,以便更好地展示数据和提升用户体验。 基于 Hibernate 的 JSP 分页 Hibernate 是一款开源的 ORM…

    Java 2023年5月31日
    00
  • Java数据库连接_jdbc-odbc桥连接方式(详解)

    Java数据库连接_jdbc-odbc桥连接方式(详解) 简介 JDBC(Java Database Connectivity)是Java标准化技术之一,其功能是提供Java程序与各种关系型数据库建立连接及操作数据库的通用接口。而JDBC-ODBC桥连接方式是Java连接ODBC(Open Database Connectivity)的一种方式。 ODBC简…

    Java 2023年5月19日
    00
  • Java SpringMVC自学自讲

    以下是关于“Java SpringMVC自学自讲”的完整攻略,其中包含两个示例。 1. 前言 SpringMVC是一种常用的Java Web开发框架,它可以帮助开发者快速构建Web应用程序。本攻略将详细讲解Java SpringMVC的自学自讲方法,帮助读者更好地掌握SpringMVC框架的使用方法。 2. 自学方法 以下是Java SpringMVC的自学…

    Java 2023年5月16日
    00
  • maven profile自动切换环境参数的2种方法详解

    什么是Maven profile Maven profile是指Maven中用于定义项目在不同环境下的不同配置的部分。比如通常我们在本地开发的时候,需要使用开发环境的数据库地址、账户和密码,而在不同的测试环境,这些配置参数又会有所不同。 为什么要使用Maven profile 在一些非常庞大的项目中,开发环境与测试环境差异很大,配置参数很多,如果每次从一个环…

    Java 2023年5月20日
    00
  • 详解Java5、Java6、Java7的新特性

    详解 Java5、Java6、Java7 的新特性 随着 Java 技术的不断发展,每个新版本都带来了新的特性和改进,从 Java5 到 Java7,Java 技术得到了很多重大的改进和新增功能。本文将详细讲解 Java5、Java6、Java7 的新特性。 Java5 Java5 中引入了很多重要的特性,这些特性极大地改进了 Java 语言和虚拟机的性能和…

    Java 2023年5月26日
    00
  • 4个Java8中你需要知道的函数式接口分享

    4个Java8中你需要知道的函数式接口分享 本文将介绍Java 8中比较有用的函数式接口。我们将会探究这些接口能够如何使用,以及有哪些主要的特点和优点。 1. Consumer接口 Consumer是一个消费者接口,它接受一个参数,但是没有返回值。在Java 8中,它被定义为一个通用的函数式接口。我们可以使用它来调用一个表示一些操作的代码块,而不需要在代码的…

    Java 2023年5月26日
    00
  • Java实现天天酷跑小游戏完整代码(附源码)

    Java实现天天酷跑小游戏完整代码(附源码) 简介 天天酷跑是一款非常有趣的小游戏,如何在Java中实现这个小游戏呢?以下是完整的Java实现天天酷跑小游戏的代码,包括Java Swing界面、游戏逻辑等部分。 游戏界面 本游戏的界面使用了Java Swing库,实现了基本的图形化界面。其中,我们使用JPanel来绘制游戏场景,使用JLabel来绘制游戏角色…

    Java 2023年5月23日
    00
  • Java 中EasyExcel的使用方式

    下面是Java中EasyExcel的使用方式的完整攻略: 1. 简介 EasyExcel是一款基于Java开发的、功能强大的Excel读写解决方案,使用起来方便快捷,支持读写Excel、CSV、HTML、JSON等文件格式,并且具有高性能,内存消耗低等优点,是目前比较流行的Excel读写工具之一。 2. 如何使用 2.1 引入依赖 在项目中引入EasyExc…

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