Java中的类和对象

类和对象

类:类是对对象的抽象,也就是说类是同一类对象的总称,这些对象具有相同的属性和方法。

对象:对象就是一个具体的事物,Java作为面向对象的语言,可以说在Java中万事万物皆对象。对象本身具有自己的属性和方法。

举个生活中的例子:我们生活中常见的人、手机、电脑、车、鸟等等就可以认为是类,然后每一个不同的人就是人这个类的对象,小米6,苹果7就是手机类的不同对象。

知道了什么是类,那么类里面有什么呢?

先来看一下类的定义方法:

public class 类名{
  访问修饰符 类型名 属性名 ; //构造方法 访问修饰符 构造方法名([数据类型 参数名]){} //普通方法
  访问修饰符 返回值类型 方法名(数据类型 参数名.......){
   }
}

可以看到类是由属性(可以是变量也可以是常量)和方法组成;

类里面的方法可以分为构造方法和其他方法方法。

Java中的方法的类型有以下几种:普通方法、构造方法、静态方法(static修饰)、最终方法(fianl修饰)

构造方法

我们实例化一个对象时,通常使用的方式是这样的:类名 对象名=new 类名();

当然这里说这是类名其实并不是很准确,更准确的说这里new后面的应该是构造方法名。构造方法是一种特殊的方法,这种方法会在每次实例化对象的时候调用。

构造方法的定义是这样的:public 类名(参数类型 参数名......){  }

这里的构造方法需要注意的几个地方是:

1.如果类里面没有定义构造方法,我们一样可以新建对象,这种情况下JVM会为每个类提供一个默认的无参的构造的方法。这点要证明也很容易,在类里面在不写任何的构造方法是可以正常的实例化对象的,如果写了无参的构造方法JVM也不会报错。

2.如果自己在类里面定义了一个有参的构造方法,那么JVM就不会再为类提供默认的无参构造器了。这点可以自己在一个类中定义一个有参的构造方法,然后在实例化得时候调用无参的构造方法,这时可以看到JVM会报错。

3.构造方法的方法名必须和类名的相一致,而且构造方法是没有返回值类型的。

构造方法的作用:

1.实例化对象(new关键字只是在内存中开辟了一个空间,而构造方法则把类的属性和方法写入到堆内存中,然后返回这段内存的首地址)

2.给属性赋初始值

方法的重载

1.方法重载的条件:必须在同类或者是有继承关系的类中;方法重载时方法的方法名必须完全相同,然后方法的参数必须不同,返回值的类型可以相同也可以不同。

2.什么情况下需要用方法的重载呢?

普通方法的重载:可以想象生活中的这样的例子,比如学习或者工作累我们有放松的方法,但是每个人的放松的方法都不一样,比如:放松(旅游);放松(玩游戏);放松(睡觉)。

构造方法的重载:比如要生产两种手机,一种是键盘机,一种是触屏机,那么在新建对象的时候就可以调用不同的构造方法来实例化这两个不同的对象。

3.重载方法的调用:根据方法的参数来确定,参数不同就调用不同的方法。

这里有一个需要注意的地方就是重载和重写

  重载:在相同类或者有继承关系的类中,方法的方法名相同,参数不同,用于处理不同类型的数据。

  重写(覆写,覆盖):在有继承关系的类中,方法的方法名,参数,返回值都必须和被覆写的方法一致。这时候新的方法就会覆盖继承的方法,所以叫方法的重写或者覆写。方法的重写主要是用以实现和父类不一样的功能。

 this关键字

1、this关键字的用途:

  在构造方法中,如果构造方法的参数名和类的属性名一致时,使用this关键字表示当前类的属性。如果不使用this关键字的话,Java会根据就进原则来给变量赋值,也就是把参数赋值给了参数,不会对类的属性产生任何的影响。

  this还可以调用当前类的方法,如调用构造方法:this(参数列表),调用普通方法:this.方法名(参数列表);

2、this关键字的表示的是谁?

  this关键字表示的当前的对象,当前正在调用方法的对象,就是thsi关键字表示的对象。

Person p1=new Person();
this.tell();//就是表示p1这个对象调用tell方法。
Person p2=new Person();
this.tell();//这时候表示的就是p2这个对象。
时间: 2024-12-21 16:49:38

Java中的类和对象的相关文章

零基础入门学习java第十一节:Java中的类和对象

今天要说的是Java中两个非常重要的概念——类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外在特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征,那么对象呢?我们口口声声说要面向对象编程,可是找了这么久也没找到对象,这还怎么编程(滑稽).此对象非彼对象,Java中的对象是某个具体类的实例,就好比你和我都是人类这个大类的一个实例个体,也就是说,我们都是人类的一个具体对象,我们有各自的名字和年龄. 那为什么要用类和对象这样的概念呢? 这是一个好

【编程语言】Java中的类和对象learn by Imooc

 一.什么是类和对象 * 类是模子,确定对象将会拥有的特征(属性)和方法 * 类的特点: *     类是对象的类型 *     具有相同属性和方法的一组对象的集合 * 对象的属性 *     属性-对象具有的各种特征 *     每个对象的每个属性都有用的特定值 * 对象的方法 *     方法-对象执行的操作(能干什么) * 类和对象的关系 *     类是抽象的概念,仅仅是模板 *     对象是一个你能够看得到,摸得着的具体实体 二. 如何定义Java的类 * 1.类的重要性:所有Jav

Java中的类与对象

最近要找实习才想起来翻出好久没碰的Java, 希望还不晚, 打算抽几天的时间看完 <Head first Java>, 这本书翻译的还算不错推荐给大家哈. 关于类和对象的区别, 类其实就是同一类对象的一个抽象,而对象则是某一个类的具体实例. 其实很像马克思里面的抽象与具体有木有, 相信学过的理解起来还是很easy的. 比方说可以定义一个类是 高富帅 , 王思聪就是一个对象. 23333 都说Java是面向对象的语言, 那么到底需要哪些东西才能够使用对象呢?? Answer : 需要两个类: 1

浅谈Java中的类与对象

面向对象基本概念:封装.继承.多态 封装:就是把数据和行为结合在一起形成统一的整体,并对对象使用者隐藏数据的实现过程. 继承:Java继承是使用已存在的类的定义作为基础建立新类的技术,继承避免了对一般类和特殊类之间共同特征进行的重复描述. 多态:多态指同一个实体同时具有多种形式. Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 消息解析 1. 什么是类? 答:类是客观存在的,抽象的,概念的东西. 2. 什么是对象? 答:对象是具体的,实际的,代表一

088、Java中String类之对象直接赋值

01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String args[]) { String str = "曾经沧海难为水,除却巫山不是云"; // 直接赋值 System.out.println(str); // 输出字符串数据 } } 02.效果如下: 知识有价,如果您认为这篇文章有价值,认同作

Java自学-面向对象 类和对象

Java中的类和对象 引入面向对象的基本概念 假设,我们要设计一个LOL这样的游戏,使用面向对象的思想来设计,应该怎么做? 步骤 1 : 设计英雄这个类 LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女 所有这些英雄,都有一些共同的状态 比如,他们都有名字,hp,护甲,移动速度等等 这样我们就可以设计一种东西,叫做类,代表英雄这样一种事物 类: 英雄(Hero) 状态: 名字, 血量,护甲,移动速度 注: 本例用到了3种数据类型 分别是 String(字符串),float(浮点数)

转!! Java中如何遍历Map对象的4种方法

在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都实现了Map接口,以下方法适用于任何map实现(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等) 方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. [java] view

Java中String类学习总结

java中String类的使用频率非常高,本人在学习此模块时,认为下列几点知识值得注意: 一.String是不可变对象 java.lang.String类使用了final修饰,不能被继承.Java程序中的所有字面值,即双引号括起的字符串,如"abc",都是作为String类的实例实现的.String是常量,其对象一旦构造就不能再被改变.换句话说,String对象是不可变的,每一个看起来会修改String值的方法,实际上都是创造了一个全新的String对象,以包含修改后的字符串内容.而最

【转载】Java中String类的方法及说明

转载自:http://www.cnblogs.com/YSO1983/archive/2009/12/07/1618564.html String : 字符串类型 一.构造函数     String(byte[ ] bytes):通过byte数组构造字符串对象.     String(char[ ] value):通过char数组构造字符串对象.     String(Sting original):构造一个original的副本.即:拷贝一个original.     String(Strin