Java中类和对象的示例分析

技术Java中类和对象的示例分析这篇文章主要介绍了Java中类和对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。类可以看成是创建Java对象的

本文主要介绍Java中类和对象的样例分析,具有一定的参考价值。有兴趣的朋友可以参考一下。希望你看完这篇文章后有很多收获。让边肖带你去了解一下。

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

1、类的定义

publicclassDog{

Stringname

intage

void eat(){ 0

}

void sleep(){ 0

}

}

2、类中变量的类型

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

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

类变量:类变量也在类中声明,在方法体之外,但是它们必须声明为静态类型。

00-1010构造函数的名称必须与类同名,一个类可以有多个构造函数。

创建对象时,至少调用一个构造函数。如果没有为该类显式定义构造函数,Java编译器将为该类提供默认构造函数。

publicclassDog{

public DoG(){ 0

System.out.println('构造狗');

}

}

3、构造方法

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

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

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

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

不能仅通过更改方法的返回类型来重载该方法。

不能有两个具有相同名称和相同参数列表的方法。

00-1010为了表示一个类继承自一个超类,我们可以在声明一个类时,在className之后添加extends。

例如:

public classemployeeextend person {

//员工从人员继承。

public EmplOyee(){ 0

super();

}

publicEmployee(Stringname,intage,in thing,intweight,

StringeyeColor,Stringender){ 0

super(姓名、年龄、身高、体重、eyeColor、性别);

}

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

4、重载方法

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

重写的形式类似于重载,但需要@Override。例如,当父类中有foo()方法时,我们可以在子类中覆盖它,如下所示:

@覆盖

public intfoo(){ 0

//T

ODO 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中类和对象的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/87906.html

(0)

相关推荐

  • Spring使用tx标签配置的拦截器

    技术Spring使用tx标签配置的拦截器 Spring使用tx标签配置的拦截器xml version="1.0" encoding="UTF-8" beans xmlns ="http://www.s

    礼包 2021年10月19日
  • div鼠标放上去就放大用css3怎么写(css3实现div放大)

    技术css3如何实现div放大这篇文章主要讲解了“css3如何实现div放大”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css3如何实现div放大”吧!

    攻略 2021年12月15日
  • 七种基本UML元件分别是什么

    技术七种基本UML元件分别是什么这篇文章给大家介绍七种基本UML元件分别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。UML元件上节的讲解是按照功能对UML图形进行的分类,绘制UML图形时,我

    攻略 2021年11月23日
  • Linux系统中怎么使用TFTP

    技术Linux系统中怎么使用TFTP这篇文章主要讲解了“Linux系统中怎么使用TFTP”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中怎么使用TFTP”吧

    攻略 2021年11月30日
  • 黄骨鱼的做法,怎样才能做出好吃又营养的黄骨鱼

    技术黄骨鱼的做法,怎样才能做出好吃又营养的黄骨鱼食材:鲜活黄骨鱼(一般一餐一个人可以吃两至四条黄骨鱼的做法,最好购买新鲜的,可以自己拿回家处理,也可让卖家代劳) 配料:姜、葱、蒜、植物油、盐、味精、酱油、豆瓣酱、红剁椒(

    生活 2021年10月27日
  • DM7 RAC数据库怎样恢复成单机数据库

    技术DM7 RAC数据库怎样恢复成单机数据库本篇文章为大家展示了DM7 RAC数据库怎样恢复成单机数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。DM7 RAC数据库恢复成单

    攻略 2021年11月30日