Java对象和类 2022-05-21 10:53 294阅读 0赞 ### 为对象定义类 ### 对象:现实世界中可以明确标识的一个实体。每个对象都有自己独特的标识、状态和行为。 状态:又称特征、属性,是由具有当前值的数据域来表示的。 行为:又称动作,是由方法定义的。 类:可看做模版、蓝本或者合约,用来定义对象的数据域是什么以及方法是做什么的。 实例化:创建实例的过程。调用构造方法可以创建一个新对象。 一个对象是类的一个实例。可以从一个类中创建多个实例。 主类:包含main方法的类。 文件中只能有一个类是公共类(public)。并且公共类必须与文件名同名。源代码中的每个类编译成.class文件。 ### 构造方法 ### 构造方法是一种特殊的方法,用来初始化对象,它有以下三个特性: ① 构造方法必须具备和所在类相同的名字 ② 构造方法没有返回值,甚至连void也没有 ③ 构造方法是在创建一个对象使用new操作符时使用 可以重载:可以有多个同名的构造方法,但它们要有不同的签名。 无参构造方法:类提供的默认构造方法,当且仅当类中没有明确定义任何构造方法时才会自动提供它。 ### 引用变量 ### 对象的数据和方法可以运用点操作符(.)通过对象的引用变量进行访问。 点操作符(.)又称为对象成员访问操作符。 匿名对象:例如 System.out.println("Area is " + new Circle(5).getArea()); 如果一个引用类型的数据域没有引用任何对象,那么就是null。数值类型默认0,boolean类型默认false,char类型默认'\\u0000',但是局部变量没有默认值。 null是引用类型的直接量。true和false是boolean类型的直接量。 ### Random类 ### 可以使用Math.random()获取 \[ 0.0, 1.0 )区间内的double值,还可以使用java.util.Random类 Random(); // 以当前时间作为种子创建一个Random类 Random(long seed); // 以一个特定值作为种子创建一个Random类 int nextInt(); // 返回一个随机的int值 int nextInt(int n); // 返回一个\[0,n)的随机int值 long nextLong(); // 返回一个随机的long值 double nextDouble(); // 返回一个\[0.0, 1.0)的随机double值 float nextFloat(); // 返回一个\[0.0f, 1.0f)的随机float值 boolean nextBoolean(); //返回一个随机的boolean值 举个例子,使用3作为种子产生随机数: Random r = new Random(3); r.nextInt(1000); ### 静态变量、常量、方法 ### 实例变量是绑定到类的某个特定实例的,不能被同一个类的不同对象所共享(就是类中一般的变量)。 静态方法不能访问类中的实例成员,无须创建类的实例就可以调用静态方法。 静态变量被类中的所有对象所共享,也称为类变量,变量值存储在一个公共的内存地址。 要想创建静态变量或者定义一个静态方法,就在声明中加static修饰符,二者可以在不创建对象的情况下访问。 例如:Math类中的常量PI的定义是 final static double PI = 3.14159265358979323846 ![70][] ### 可见性修饰符 ### 用于确定一个类以及它的成员的可见性。 public : 可以被任何其他的类访问 protected : 允许子类访问父类中的数据域和方法 包私有(包内访问) : 没有可见性修饰符的时候,默认类、方法、数据域可以被同一个包中的任何一个类访问 包可以用来组织类: package packageName; // 在这行语句之前不能有注释也不能有空白 private : 限定方法和数据域只能在自己的类中被访问 ![70 1][] ![70 2][] 大多数情况下构造方法都是公共的,但是如果想防止用户创建类的实例,就使用私有构造方法,比如Math类的所有数据域和方法都是静态的,所以没必要创建Math类的实例,因此在java.lang.Math中的构造方法定义如下: private Math()\{\} ### 数据域封装 ### 封装就是用private修饰变量 不封装的缺点:数据可能被篡改;使类变得难以维护,同时容易出现错误。 封装后通常得给用户提供访问、更新的方法: 访问器:get方法; 修改器:set方法。 ### 向方法传递对象 ### Java只有一种参数传递方式:值传递。 传对象实际上是把引用值传递过去,并没有新建一个对象。描述为 传共享。 ### this引用 ### 关键字this引用对象自身。可以用this引用对象的实例成员。 也可以在构造方法内部用语调用同一个类的其他构造方法。 在引用隐藏数据域以及调用一个重载的构造方法的时候,this引用是必须的。 例如,在set方法中,经常将数据域名用作参数名,此时必须使用this: private int i; void set ( int i ) \{ this.i=i; \} 如果是静态变量则可以简单地通过“类名.静态变量”的方式来引用: private static int j; void set ( int j ) \{ className.j = j; \} this可以调用同一个类的另一个构造方法,例如: ![70 3][] [70]: /images/20220521/722748e1ca9a410b8c557a83733a4988.png [70 1]: /images/20220521/b612fef780ab4a1da6403aadf2596283.png [70 2]: /images/20220521/eb6d63e313fb42ee8736ee5295fbddbe.png [70 3]: /images/20220521/615b8b3227794fa0a7d28f4a37ca32c9.png
相关 三 Java对象和类 Java对象和类 Java作为面向对象语言,支持以下基本概念: 多态 继承 封装 抽象 类 : 类是一个模板,它描述一类对象的行为和状态。 缺乏、安全感/ 2021年09月26日 08:14/ 0 赞/ 492 阅读
相关 Java认识类和对象 具有相同特性(数据元素)和行为(功能)的对象的抽象就是类,因此对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。 让我们来看看人类所具有的一些特征,这些特征 电玩女神/ 2021年12月16日 14:47/ 0 赞/ 383 阅读
相关 Java 类和对象 类和对象关系: 写编程语言,就是为了模拟现实世界的事物,实现信息化。比如:去超市买东西的计费系统,去银行办业务的系统。 如何表示一个现实世界事物: 1. 属性 就是该事 素颜马尾好姑娘i/ 2022年01月27日 12:57/ 0 赞/ 487 阅读
相关 Java对象和类 为对象定义类 对象:现实世界中可以明确标识的一个实体。每个对象都有自己独特的标识、状态和行为。 状态:又称特征、属性,是由具有当前值的数据域来表 待我称王封你为后i/ 2022年05月21日 10:53/ 0 赞/ 295 阅读
相关 初识Java(Java类和对象-对象) 一、对象 Java 是一门面向对象的程序设计语言,对象时由类抽象出来的,所有的问题都通过对象来处理,对象可以操作类的属性和方法解决相应的问题,所以了解对象的产生、操作和消 亦凉/ 2022年05月25日 23:48/ 0 赞/ 280 阅读
相关 初识Java(Java类和对象-类) 一、类 类是封装对象的属性和行为的载体,而在 Java 语言中对象的属性以成员变量的形式存在,对象的方法以成员方法的形式存在。 1.1 成员变量 在 Java 向右看齐/ 2022年05月27日 08:58/ 0 赞/ 240 阅读
相关 Java 对象和类 Java 对象和类 Java作为一种面向对象语言。支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 逃离我推掉我的手/ 2022年06月03日 09:15/ 0 赞/ 268 阅读
相关 Java 对象和类 Java 对象和类 Java作为一种面向对象语言。支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 淡淡的烟草味﹌/ 2022年06月04日 00:58/ 0 赞/ 264 阅读
相关 JAVA之类和对象 1、现实世界中的所有事物都视为对象。所谓的”万物皆对象“。 2、对象的特征——属性。如下图: ![20170121140005031][] 3、对象的特征—— 快来打我*/ 2022年07月11日 08:30/ 0 赞/ 190 阅读
相关 Java 对象和类 创建对象 对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步: 声明:声明一个对象,包括对象名称和对象类型。 实例化:使用关键字n... 小灰灰/ 2020年05月20日 13:37/ 0 赞/ 1941 阅读
还没有评论,来说两句吧...