iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java 中的类和对象详情
  • 797
分享到

Java 中的类和对象详情

2024-04-02 19:04:59 797人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1、类的定义2、类中变量的类型3、构造方法4、重载方法5、继承5.1 重写方法6、创建对象7、访问实例变量和方法8、比较对象8.1 使用 == 比较对象8.2 使用 equals

类可以看成是创建Java对象的模板

1、类的定义


public class Dog {
    String name;
    int age;

    void eat() {
    }
    void sleep() {
    }
}

2、类中变量的类型

局部变量:在方法或语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。

成员变量(实例变量):成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。

类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。

3、构造方法

构造方法的名称必须与类同名,一个类可以有多个构造方法。

在创建一个对象的时候,至少要调用一个构造方法。 如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。


public class Dog {
 public Dog() {
  System.out.println("构造Dog");
 }
}

4、重载方法

创建两个具有相同名称和不同参数列表(即不同的参数数量或类型)的方法时,就拥有了一个重载 方法。

在运行时,JRE 基于传递给它的参数来决定调用您的重载方法的哪个变体。

我们甚至可以在一个方法中调用另一个同名的重载方法。

但要注意:在使用重载方法时,

  • 不能仅通过更改一个方法的返回类型来重载它。
  • 不能拥有两个具有相同名称和相同参数列表的方法。

5、继承

要表示一个类继承自某一个超类,我们可以在声明类时,在 className 后加上 extends

例如:


public class Employee extends Person {
  // Employee 继承自 Person
  public Employee() {
    super();
    }
  
    public Employee(String name, int age, int height, int weight,
  String eyeColor, String gender) {
        super(name, age, height, weight, eyeColor, gender);
  }
}

在构造函数中,调用 super([args]) 来初始化父类。

5.1 重写方法

如果一个子类提供其父类中定义的方法的自有实现,这被称为方法重写。

重写的形式类似于重载,但需要加上一个 @Override。例如,当父类中有一个 foo() 方法时,我们可以在子类中这样重写它:


@Override
public int foo() {
 // TODO Auto-generated method stub
 return super.foo();
}

【注】这段代码是使用 Eclipse 自动生成的,它只是调用了父类中的方法(super.foo()),没有任何改变,但实际中我们不会这么使用。

重写后,在类中直接使用 method()调用重写后的函数,但我们任然可以通过 super.method() 调用父类中的(重写前的)方法。

6、创建对象

对象是根据类创建的。 创建对象需要以下三步:

  • 声明:声明一个对象,包括对象名称和对象类型。
  • 实例化:使用关键字 new 来创建一个对象。
  • 初始化:使用 new 创建对象时,会调用构造方法初始化对象。

public class Dog {
 public static void main(String[] args) {
  Dog Dog0 = new Dog();
 }
}

7、访问实例变量和方法

  • 访问实例的变量:实例名.变量名
  • 调用实例的方法:实例名.方法名()

public class Dog {
 String name;
 int age;

 void eat(String food) {
  System.out.println(name + " is eating " + food + ".");
 }

 public Dog() {
  name = "Dog";
  age = 0;

  System.out.println("构造():");
  System.out.println(name + "\t" + age);
 }
 public Dog(String dogName, int dogAge) {
  name = dogName;
  age = dogAge;
  System.out.println("构造(name, age):");
  System.out.println(name + "\t" + age);
 }

 public static void main(String[] args) {
  Dog Dog0 = new Dog();
  Dog Dog1 = new Dog("FooBar", 3);

  // 访问变量 
  Dog0.name = "Ana";
  System.out.println(Dog0.name);

  // 访问方法
  Dog1.eat("cat");

 }
}

运行👆上面代码将输出:


构造():
Dog 0
构造(name, age):
FooBar 3
Ana
FooBar is eating cat.

8、比较对象

Java 语言提供了两种比较对象的方法:

  • == 运算符
  • equals() 方法

8.1 使用 == 比较对象

== 语法比较对象是否相等,只有在 ab 相等时,a == b 才返回 true

对于内置基本类型,需要它们的值相等。

对于对象,需要两个对象引用同一个对象实例。

例如:


import java.util.logging.Logger;

public class Equals {
 public static void main(String[] args) {
  Logger l = Logger.getLogger("Test");

  int i = 12,
   j = 12,
   k = 99;
        
  Integer a = new Integer(12);
  Integer b = a;
  Integer c = new Integer(12);

  l.info("i == j: " + (i == j));
  l.info("i == k: " + (i == k));

  l.info("a == b: " + (a == b));
  l.info("a == c: " + (a == c));
 }
}

运行这段代码将得到如下结果:


i == j: true
i == k: false
a == b: true
a == c: false

【注】若使用 a = Integer.valueOf(12); 与 c = Integer.valueOf(12); 分别得到 a 和 c,则 a == c 将是 true !

8.2 使用 equals() 比较对象

equals() 是每种 Java 语言对象都可以自由使用的方法,因为它被定义为 java.lang.Object 的一个实例方法(每个 Java 对象都继承该对象)。

调用 equals() 的方法如下:

a.equals(b);

此语句调用对象 aequals() 方法,向它传递对象 b 的引用。

默认情况下,Java 程序使用 == 语法检查两个对象是否相同。但是因为 equals() 是一种方法,所以它可以被重写。这样,对于任何对象,我们都可定义适合的 equals() 的含义。

【注】在重写 equals() 时,我们可以利用 object.hashCode()( to return a hash code value for the object.)

到此这篇关于Java 中的类和对象详情的文章就介绍到这了,更多相关Java 中的类和对象内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java 中的类和对象详情

本文链接: https://www.lsjlt.com/news/156741.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java 中的类和对象详情
    目录1、类的定义2、类中变量的类型3、构造方法4、重载方法5、继承5.1 重写方法6、创建对象7、访问实例变量和方法8、比较对象8.1 使用 == 比较对象8.2 使用 equals...
    99+
    2022-11-12
  • java中类与对象的使用详情
    目录1. 类的定义2.对象的创建和使用如何得到对象如何使用对象3.学生对象-练习4.成员变量的默认值1. 类的定义 面向对象是通过类和对象去描述和代表万千事物对象的,首先我们需要知道...
    99+
    2022-11-13
  • 关于C# 类和对象详情
    目录一、对象的定义和创建二、、对象的初始化1. 借助构造函数或使用2. 实例构造函数3. 静态构造三、对象的引用一、对象的定义和创建 定义类对象的方法为: 类名 对象名; 类是...
    99+
    2022-11-12
  • 【Java】类和对象详解
    文章目录 一、面向对象1.1 什么是面向对象1.2 面向对象与面向过程 二、类的定义和实例化2.1 类的定义2.2 类的创建2.3 类的实例化2.4 类和对象的联系 三、认识 this...
    99+
    2023-10-18
    java 开发语言
  • Java抽象类和接口的区别详情
    1、抽象类 vs 接口  方法类型: 接口只能有抽象方法。抽象类可以有抽象和非抽象方法。从 Java 8 开始,它也可以有默认和静态方法。 最终变量: 在 Java...
    99+
    2022-11-12
  • Java面向对象类和对象实例详解
    目录1 - Java面向对象学习的三条主线2 - 面向过程与面向对象3 - 面向对象的三大特征4 - 面向对象分析方法分析问题的思路和步骤5 - 面向对象的思想概述6 - 类和对象的...
    99+
    2022-11-13
  • 关于java中类和对象的详细介绍
    类和对象对象我们知道,代表现实世界中可以明确标识的一个实体(万物皆对象),每个对象都有自己独特的标识、状态和行为。类是具有相似特征和行为的事物的统称。使用一个通用类来定义同一类型的对象。 类是一个模板 、蓝本或者说是合约 , 用来定义对象的...
    99+
    2015-06-07
    java入门 java 对象
  • Java 中的 File类详情
    目录一、File类简单介绍二、 路径的分类三、 构造方法四、 成员方法一、File类简单介绍 为什么要学习File类呢,他的作用又是什么呢? IO流操作中大部分都是对文件进行...
    99+
    2022-11-12
  • Java 类与对象详细
    目录1.类2.对象3.练习 4.练习答案 前言: 早期的Java语言,是面对过程的语言(面向过程指把一个场景分割成一个个的步骤研究),如今的Java已经是面对对象的语言(面向对象指把...
    99+
    2022-11-12
  • 【JAVA】类和对象
    作者主页:paper jie的博客   本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将...
    99+
    2023-08-31
    java 开发语言
  • 详解Java中类与对象的关系
    目录前言一、类与对象的介绍二、类的实例化三.类与对象的使用方法3.1对象的初始化3.2内存显示图四.this的使用方法总结前言 已经开始类与对象的讲解了,正式步入了Java的道路了,...
    99+
    2023-05-19
    Java类 Java对象
  • Java类与对象详解(2)
      this引用 为什么要有this引用 先来看一个日期类的例子: ​public class Date { public int year; public int month; public int day; /...
    99+
    2023-09-01
    java 开发语言
  • Java类与对象详解(3)
    目录 封装 封装的概念 访问限定符 封装扩展之包 包的概念 导入包中的类 自定义包 基本规则 包的访问权限控制举例 常见的包 static 成员 static 修饰成员变量 static修饰成员方法  static 成员变量的初始化 代码...
    99+
    2023-08-31
    java 开发语言
  • Java对象与Java类的详细介绍
    本篇内容介绍了“Java对象与Java类的详细介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录面向对象是什么Java类什么是类Java...
    99+
    2023-06-20
  • Java对象类型的判断详解
    在Java中,可以使用`instanceof`运算符来判断一个对象的类型。`instanceof`运算符用于检查一个对象是否是一个特...
    99+
    2023-08-15
    Java
  • Python面向对象中的封装详情
    目录一 封装的概念二 _ 和__ 对属性和方法的私有化1. 单下划线_2. 双下划线__3. 子类中访问父类的私有属性和私有方法三 访问及修改类的私有属性和私有方法1. 自定义公有方...
    99+
    2022-11-13
  • Python 的可变和不可变对象详情
    目录Python 中的可变和不可变对象一、文字描述可变和不可变对象1、可变与不可变对象归类2、可变与可变对象的区别3、不可变对象的应用场景二、代码角度区别1、不可变对象-整型2、不可...
    99+
    2022-11-12
  • Java基础——类和对象
    目录 一、类和对象的基本概念 二、类与对象的定义与使用 1.创建类的语法: 2. 创建具体的对象:  3.范例(创建一个Person 类的对象)  三、static关键字   (一)static修饰属性(类属性、类变量) (二)static...
    99+
    2023-10-05
    java
  • 浅谈java类和对象
    目录一、面向对象的描述二、类和对象的基本概念三、类定义和使用1、简单认识类2、类的定义3、实例化对象4、类的三大特性封装继承多态一、面向对象的描述 面向对象是一种现在最为流行的程序设...
    99+
    2022-11-13
  • 关于java中类和对象的讲解
    1、定义 类: 对于一类事物的统称,对当前事物的一些描述,属性描述和行为描述 对象: 独立,唯一,特殊的个体2、定义格式class ClassName { // 属性描述 // 行为描述 }要求: ClassName要求符合大驼峰命名法,并...
    99+
    2014-07-08
    java入门 java 对象
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作