Java 类与对象详细

目录
  • 1.类
  • 2.对象
  • 3.练习
  • 4.练习答案

前言:

早期的Java语言,是面对过程的语言(面向过程指把一个场景分割成一个个的步骤研究),如今的Java已经是面对对象的语言(面向对象指把一个场景分割成一个个的对象研究)。面向对象是相比面向过程有很多便利的地方,以后读者会慢慢感受到~

那么,何谓对象呢?小编正在使用的电脑是一个对象,读者手中的手机是一个对象……对象,指【一个】【具体的】物品或者事物(注意对象可以是抽象的东西)。

每个对象都有其特征和用途,不同类型的对象特征和用途有所不同。我们把具有相同特征和用途的对象归为一类,这就是类。

比如读者的手机,其特征有颜色 重量 价格 内存大小等,用途有上网 打电话 发短信等;小编的电脑,其特征有颜色 重量 内存大小 CPU型号等,用途有上网 打游戏 办公等。之所以说手机和电脑不是同一类产品是因为手机和电脑的特征和用途有所不同。

1.类

Java中,类定义的一般格式为:

public class 类名{
    访问权限修饰符 数据类型 属性名;
    访问权限修饰符 返回值类型 方法名(参数类型  参数名,参数类型  参数名……){方法体}
    ……
}

类中属性的定义格式为:

访问权限修饰符 数据类型 属性名;

类中方法的定义格式为:

访问权限修饰符 返回值类型 方法名(参数类型  参数名,参数类型  参数名……){方法体}

类的定义中有以下补充:

  • 1.类名第一个的字母必须大写;
  • 2.访问权限修饰符有四种:public、默认的、protectedprivate;一般用public较多;
  • 3.返回值的类型有很多种,比如int型,double型,String型,返回值分别为整数、小数、字符串

实例:定义一个学生(Student)类

public class Student {

 //姓名属性
 public String name;

 //学分属性
 public int score;

 //学习方法    方法没有返回值   没有参数
 public void study(){
        //输出一句话:谁正在学习Java!
        system.out.println("name + "正在学习Java!"")
        }
}

在一个程序中,可以用//后面加文字的方式来对代码进行注释。

2.对象

定义完类后,我们可以来创建该类的对象。创建对象(也称实例化对象)的一般格式为:

类名 对象名 = new 类名();

在实例化对象后,就可以对对象的属性进行赋值,在后面的实例中可以看到。

对象的属性和方法已经在对象所在的类中定义好了,那么对象如何调用(使用)这些属性和方法呢?调用对象的属性和方法时,用的是英文输入法中的 "."

调用对象的格式为:

对象名.属性名;

调用方法的格式为:

对象名.方法名(参数值,参数值…………);

实例:实例化对象并给对象赋值,调用对象的属性和方法。

public class Manager {

 public static void main(String[] args){
  //创建一个学生对象
  Student stu = new Student();
  //初始化学生对象的属性
  stu.name = "欧栋";
  stu.score = 58;
                //调用对象的方法
                stu.study();
}

程序最后输出:

欧栋正在学习Java!

3.练习

了解了类与对象后,让我们来做一些简单的练习!

  • 练习1:学生欧栋在学习java课程,每一次学习让课程的课时减少1,课时减少为0,学习完成,欧栋获得java课程的学分。
  • 练习2:劫 英雄在攻击 菊花怪,每次攻击让菊花怪的血量减少劫的攻击力的值,直到菊花怪的血量为0结束。(指定劫的和菊花怪的血量都为100,劫的攻击力为9)
  • 练习3:劫英雄与敌人菊花怪PK,劫攻击菊花怪一次使菊花怪血量减少劫的攻击力的值,菊花怪攻击劫一次使劫的血量减少菊花怪的攻击力的值,直到一方的血量<=0,PK结束。(指定劫的和菊花怪的血量都为100,劫的攻击力为9,菊花怪的攻击力为8)

练习3思路分析:

对象:劫 菊花怪
对象属性和方法
劫:属性:名字  攻击力 血量
方法:攻击菊花怪
菊花怪:属性:名字  攻击力 血量
方法:攻击劫

练习2思路分析:

 对象:劫,菊花怪
  劫:属性:名字,攻击力    
        方法:攻击菊花怪
    菊花怪:属性:名字,血量
            方法:\

练习1思路分析:

对象:学生 课程
学生属性:姓名,学分
学生方法:学习
课程属性:名称,学分,课时
方法:无

4.练习答案

练习1答案:

//定义学生类
public class Student{
 //姓名属性
 public String name;
 //学分属性
 public int score;

 //学习的方法
 public void study( Course c ){
  //让课程的课时减少1
  c.hours = c.hours -1;
  //输出   谁在学习什么课程,还剩多少个课时
  System.out.println(name + "在学习"+ c.name +"课程,还剩" + c.hours + "个课时");  

  //判断课程的课时是否为0
  if( c.hours == 0){
   //学习完成,自己的学分增加课程的学分
   score = score + c.score;
   //输出  谁完成了什么课程的学习,获得多少个学分,现在的学分是多少
   System.out.println(name + "完成了"+ c.name + "课程的学习,获得"+ c.score +"个学分,现在的学分是"+score  );
  }

 }

}
//定义课程类
public class Course{

 //课程名属性
 public String name;
 //学分属性
 public int score;
 //学时属性
 public int hours;

}
//定义一个只有主方法的类
public class Manager{
 //主方法
 public static void main(String[] args){
  //创建课程对象
  Course java = new Course();
  //给课程对象的属性赋值
  java.name = "Java";
  java.hours = 20;
  java.score = 3;

  //创建学生对象
  Student oudong = new Student();
  //给学生对象的属性赋值
  oudong.name="欧栋";
  oudong.score = 27;

  //学习java课程
  while(java.hours > 0 ){
   oudong.study(java);
  }
 }

}

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

(0)

相关推荐

  • Java杂谈之类和对象 封装 构造方法以及代码块详解

    目录 1. 类和对象的初步认知 2. 类的实例化 3. 类的成员 字段(属性/成员变量) 方法 static 关键字 修饰字段 修饰方法 修饰代码块(暂不讲) 修饰类(暂不讲) 4. 封装 5. 构造方法 6. this 用法 关于引用的几个注意事项: 7. 代码块 Java当中的类和对象 1. 类和对象的初步认知 java 是一门面向对象的语言,所谓面向对象有别于面向过程,面向对象是只需对象之间的交互即可完成任务,但是面向过程的话,需要我们将每一个步骤都详细地做出来.比如,以洗衣服为例,如果是

  • java开发BeanUtils类解决实体对象间赋值

    实体对象之间相互传值,如:VO对象的值赋给Entity对象,是代码中常用功能,如果通过get.set相互赋值,则很麻烦,借助工具类BeanUtils可以轻松地完成操作. BeanUtils依赖包导入 BeanUtils 是 Apache commons组件的成员之一,主要用于简化JavaBean封装数据的操作.使用BeanUtils必须导入相应的jar包,BeanUtils的maven坐标为 <dependency> <groupId>commons-beanutils</g

  • Java面向对象基础知识之抽象类和接口

    抽象类(abstract): 抽象类不能创建实例,它只能作为父类被继承.抽象类是从多个具体类中抽象出来的父类,它具有更高层次的抽象.从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为其子类的模板,从而避免了子类的随意性. (1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法 (2) 抽象类不能被实例化 (3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类 (4) 具体派生类必须覆盖基类的抽象方法 (5) 抽象派生类可以覆盖基

  • Java中类与对象的相关知识点总结

    目录 一.面向过程与面向对象的理解 二.类与对象的理解与认识 三.类的成员 1.字段/属性/成员变量 2.对null的基本认识 3.方法 (method) 4.static 关键字 四.封装 1. private实现封装 2.getter和setter方法 五.构造方法 1.构造方法的基本语法及使用 2.this关键字 六.Java中的代码块 1.认识代码块 2.普通代码块 3.构造代码块 4.静态代码块 七.toString方法 1.重写println的toString方法 2.匿名对象 八.

  • Java 类与对象重难点详解

    目录 什么是类.对象? 类和类的实例化 字段的初始化 类当中实现方法 static 静态关键字 封装 private 实现封装 setter 和 getter 方法 构造方法 this 关键字 匿名对象 什么是类.对象? 因为计算机并不能像我们人这样去理解世界上的东西,所以为了更好的编辑,就抽象出了类和对象.类就是把功能放在一起,然后由一个人去调用这个功能,然后再编辑对应的功能.调用者就是对象的实现者 类和类的实例化 类是一类对象的统称,对象就是这一类具体化的实例 创建类的关键字:class 举

  • Java 中的类和对象详情

    目录 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.类中变量的类型 局部变量:在方法或语句块中定义的变量被称为局部变量.变量声明

  • java面向对象编程类的内聚性分析

    目录 类划分时关于内聚性的问题 静态类的设计 高内聚类的设计 附:面向过程编程中模块的内聚性 偶然内聚或巧合内聚(Coincidental) 逻辑内聚(Logical): 时间内聚(Temporal ): 过程内聚: 通信内聚(Communicational): 顺序内聚(Sequential): 功能内聚(Functional): 类划分时关于内聚性的问题 静态类的设计 在软件设计中,我们经常会将一些通用的方法封装到一个类中,这种类只包含方法,没有属性,类中的方法之间没有关联,内聚性最低,属于

  • 详解Java内部类与对象的打印概念和流程

    目录 一.内部类的概念 二.内部类的分类 三.成员内部类 1.普通内部类 2.静态内部类 四.局部内部类 五.对象的打印 一.内部类的概念 在 Java 中,可以将一个类定义在另一个类或者一个方法的内部,前者称为内部类,后者称为外部类.内部类也是封装的一种体现. public class OutClass {//外部类 class InnerClass{//内部类 } } 注意事项: 1.内部类一定是定义在class 类名{}之中的类,定义在class 类名{}之外的,哪怕是在一份文件中,也并不

  • 深入理解JAVA基础类库中对象Object类

    引言 Object类是所有类.数组的父类,位于java.lang 包下也就是说,Java允许把所有任何类型的对象赋给Object类型的变量.当定义一个类时没有使用extends关键字为它显式指定父类,则该类默认继承Object父类. 例如: public class Dog{ ...... } 等价于: public class Dog extends Object { ...... } Object常用方法 Object 类属于java.lang包,此包下的所有类在使用时无需手动导入,系统会在

  • Java 类与对象详细

    目录 1.类 2.对象 3.练习 4.练习答案 前言: 早期的Java语言,是面对过程的语言(面向过程指把一个场景分割成一个个的步骤研究),如今的Java已经是面对对象的语言(面向对象指把一个场景分割成一个个的对象研究).面向对象是相比面向过程有很多便利的地方,以后读者会慢慢感受到~ 那么,何谓对象呢?小编正在使用的电脑是一个对象,读者手中的手机是一个对象--对象,指[一个][具体的]物品或者事物(注意对象可以是抽象的东西). 每个对象都有其特征和用途,不同类型的对象特征和用途有所不同.我们把具

  • Python 类和对象详细介绍

    目录 对象 = 属性 + 方法 self是什么 公有和私有 继承 调用未绑定的父类方法 使用super函数 多重继承 组合 构造和析构 _ _init_ _(self[, …])构造方法 _ _new_ _(cls[, …])方法 _ _del_ _(self)析构方法 什么是绑定 对象 = 属性 + 方法 我们前面其实已经接触过封装的概念,把乱七八糟的数据扔进列表里面,这是一种封装,是数据层面的封装:把常用的代码段打包成一个函数,这也是一种封装,是语句层面的封装:现在我们要学习的对象,也是一种

  • 全面理解Java类和对象

    面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分.在面向对象程序设计(OOP)中,不必关心对象的具体实现.在传统的结构化程序设计中,算法是第一位的,数据结构是第二位的,即首先确定如何操作数,再考虑如何组织数据,以方便操作.而OOP则颠倒了这种次序,将数据放在第一位,然后再考虑操作数据的算法. 一.类 类是构造对象的模板和蓝图.通俗地说,类相当于建筑的图纸,而对象相当于建筑物.由类构造对象的过程称为创建对象的实例. Java中通过关键字class定义"类"

  • java类和对象原理与用法分析

    本文实例讲述了java类和对象原理与用法.分享给大家供大家参考,具体如下: 面向对象编程OOP 类:相似对象的集合. 对象 对象:实体.一切可以被描述的事物. 属性:特征. 方法:动作,行为. 类和对象的区别 [1]类时抽象的,对象是具体的. [2]类是一个模板,创建出来的对象具备共同的属性和方法. [3]类是一种数据烈性.引用数据类型. 语法 public classs 类名{ //定义属性部分 属性1的类型 属性1: 属性2的类型 属性2: ... 属性3的类型 属性n; //定义方法部分

  • 深入浅出分析Java 类和对象

    目录 一.什么是类 二.Java的类和C语言的结构体异同 三.类和类的实例化 类的声明 实例化的对象,成员遵循默认值规则 类的实例化 静态属性(静态成员变量) 四.构造方法 创建构造方法 this 一.什么是类 类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础.类是一种用户自定义的引用数据类型,也称类类型.每个类包含数据说明和一组操作数据或传递消息的函数,类的实例称为对象 类的实质是一种引用数据类型,类似于 byte,shor

  • Java 类与对象超基础讲解

    目录 什么是面向对象 面向过程与面向对象 类与对象的使用 类与对象的使用与说明 对象的初始化 this的使用 构造方法 this可以调用本类的构造方法 什么是面向对象 Java语言是一个纯面向对象的语言,面向对象的语言不仅只有Java,包括C++,PHP等 面向对象的编程思想简称 OOP(Object Oriented Programming),其基本特点就是封装,继承和多态. 面向过程与面向对象 想要弄清楚什么是面向对象,首先需要知道两者的区别 面向过程更注重程序的每一个步骤,用相应的函数来实

  • 浅谈java类和对象

    目录 一.面向对象的描述 二.类和对象的基本概念 三.类定义和使用 1.简单认识类 2.类的定义 3.实例化对象 4.类的三大特性 封装 继承 多态 一.面向对象的描述 面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言. 但是在面向对象设计之前,广泛采用的是面向过程,面向过程只是针对于自

  • Java类和对象的设计原理

    目录 一.实验目的 二.实验代码 1.定义一个类MyProgram,包含两个属性: 2. 在Vehicle类的基础上创建一个Tractor(拖拉机)类 3. 组合实现汽车类 5. USB接口程序设计 6.this关键字主要有三个应用: 7.请简述static关键字的作用 8.请简述super关键字的作用 9.请简述final关键字的作用 一.实验目的 1. 掌握面向对象的编程思想.类与对象: 2. 掌握类的封装性.继承性和多态性的作用: 3. 掌握成员变量和成员方法的特性.构造方法.toStri

  • java类与对象案例之打字游戏

    类与对象案例-童年回忆之打字游戏 一.玩家类 二.等级类 三.游戏类 四.等级地图 五.测试类 这次要做的案例是一个打字游戏的案例,相信大家小时候都玩过金山打字通的警察抓小偷和飞机大战,这次的案例是类似的简易版. 首先对于这个案例,我们要解决的是如何生成随机的字符串,如何判断生成的字符串和输入的字符串是否相等. 一.玩家类 package com.yc.oop6.hc0705; public class Player { private int score; //积分 private long

随机推荐