Java|Java 类与对象详细
目录
- 1.类
- 2.对象
- 3.练习
- 4.练习答案
早期的
Java
语言,是面对过程的语言(面向过程指把一个场景分割成一个个的步骤研究),如今的Java
已经是面对对象的语言(面向对象指把一个场景分割成一个个的对象研究)。面向对象是相比面向过程有很多便利的地方,以后读者会慢慢感受到~那么,何谓对象呢?小编正在使用的电脑是一个对象,读者手中的手机是一个对象……对象,指【一个】【具体的】物品或者事物(注意对象可以是抽象的东西)。
【Java|Java 类与对象详细】每个对象都有其特征和用途,不同类型的对象特征和用途有所不同。我们把具有相同特征和用途的对象归为一类,这就是类。
比如读者的手机,其特征有颜色 重量 价格 内存大小等,用途有上网 打电话 发短信等;小编的电脑,其特征有颜色 重量 内存大小
CPU
型号等,用途有上网 打游戏 办公等。之所以说手机和电脑不是同一类产品是因为手机和电脑的特征和用途有所不同。1.类
Java
中,类定义的一般格式为:public class 类名{访问权限修饰符 数据类型 属性名; 访问权限修饰符 返回值类型 方法名(参数类型参数名,参数类型参数名……){方法体}……}
类中属性的定义格式为:
访问权限修饰符 数据类型 属性名;类中方法的定义格式为:
访问权限修饰符 返回值类型 方法名(参数类型参数名,参数类型参数名……){方法体}类的定义中有以下补充:
- 1.类名第一个的字母必须大写;
- 2.访问权限修饰符有四种:
public
、默认的、protected
、private
;一般用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)
对象:劫 菊花怪练习2思路分析:
对象属性和方法
劫:属性:名字攻击力 血量
方法:攻击菊花怪
菊花怪:属性:名字攻击力 血量
方法:攻击劫
对象:劫,菊花怪练习1思路分析:
劫:属性:名字,攻击力
方法:攻击菊花怪
菊花怪:属性:名字,血量
方法:\
对象:学生 课程
学生属性:姓名,学分
学生方法:学习
课程属性:名称,学分,课时
方法:无
4.练习答案
练习1答案:
//定义学生类public class Student{ //姓名属性 public String name; //学分属性 public int score; //学习的方法 public void study( Course c ){//让课程的课时减少1c.hours = c.hours -1; //输出谁在学习什么课程,还剩多少个课时System.out.println(name + "在学习"+ c.name +"课程,还剩" + c.hours + "个课时"); //判断课程的课时是否为0if( 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 类与对象内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 为什么你的路演总会超时()
- 第326天
- Shell-Bash变量与运算符
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 事件代理
- 逻辑回归的理解与python示例
- Guava|Guava RateLimiter与限流算法