JAVA的类和对象
来源:互联网 发布:ubuntu格式化硬盘 编辑:程序博客网 时间:2024/06/05 03:14
类和对象
万物皆对象
面向对象的优点
一种全新的组织代码的方式
更加符合人类的思维方式
对象
对象就是用来描述客观事物的一个实体,有一组属性和方法构成。是一个能够具体看得见的具体实体
类
我们把同类型的自定义的数据类型称为类。比如说:演员,厨具。
定义类
public class Actor { //定义演员类 /** 姓名 */ public String name; /** 年龄 */ public int age; /** 职业 */ public String job; /** 性别 */ public String sex;
使用对象
创建对象
- 类名 对象名 = new 类名();
Actor actor1 = new Actor();
引用对象成员:使用“.”进行操作
actor1.name = "孙悟空"; //给name属性赋值actor1.age = 999; //给age属性赋值
使用==比较变量
- 基本数据类型:比较两个变量的值是否相等
- 引用数据类型:比较两个对象是否同一个对象
比较两个对象的内容是否相同
- 使用equals
内存的值是否一致
类和对象的关系
- 类是对象的设计图,对象是类的实体
- 类是对象的模板,对象是类的实例
代码实例
package com.tx.jason1;import java.util.Scanner;public class ArrayActor { public static void main(String[] args) { Scanner input = new Scanner(System.in); Actor[] actor = new Actor[99]; //定义数组类的元素 int count = 0; //已录入的总数 String choice = null; //选择是否继续录入 do{ actor[count] = new Actor(); //每个数组对象在使用前都要赋空间 System.out.println("请输入英雄"); System.out.print("姓名:"); actor[count].name = input.next(); System.out.print("年龄:"); actor[count].age = input.nextInt(); System.out.print("职业:"); actor[count].job = input.next(); System.out.print("性别:"); actor[count].sex = input.next(); count++; //每录入一个英雄,英雄的总数都要+1 System.out.println("是否继续(y/n)"); choice = input.next(); }while("y".equalsIgnoreCase(choice)); //判断是否继续录入英雄 /** 打印每个英雄的信息 */ System.out.println("输入的英雄如下"); System.out.println("姓名\t年龄\t职业\t性别"); for (int i = 0; i < count; i++) { System.out.println(actor[i]); } /* * 排序英雄的年龄大小 */ for (int i = 0; i < count - 1; i++) { for (int j = 0; j < count - i - 1; j++) { if(actor[j].age > actor[j + 1].age){ Actor temp = actor[j]; actor[j] = actor[j + 1]; actor[j + 1] = temp; } } } System.out.println("排序后"); System.out.println("姓名\t年龄\t职业\t性别"); for (int i = 0; i < count; i++) { System.out.println(actor[i]); } /* * 删除英雄的步骤 */ System.out.println("请输入要删除的英雄"); String delnum = input.next(); int delIndex = -1; //要删除英雄的索引 for (int i = 0; i < count; i++) { if(delnum.equals(actor[i].name)){//如果要删除英雄的名字和定义英雄的名字形同 delIndex = i; //就记录它的索引 break; } } if(delIndex == -1){ //如果没有这个英雄的姓名,就没有要删除的目标 System.out.println("没有找到"); }else{ for (int i = delIndex; i < count - 1; i++) {//从要删除的英雄索引开始,遍历总英雄-1的元素 actor[i] = actor[i + 1]; //把后一个英雄的信息覆盖前一个英雄的信息 } count--; //总英雄长度-1 } /* * 打印删除英雄后的信息 */ System.out.println("删除后如下"); System.out.println("姓名\t年龄\t职业\t性别"); for (int i = 0; i < count; i++) { System.out.println(actor[i]); } int setIndex = -1; //定义要找到英雄的索引 /* 录入每个英雄的元素 */ System.out.println("请输入新的英雄信息"); Actor setnum = new Actor(); System.out.println("请输入英雄"); System.out.print("姓名:"); setnum.name = input.next(); System.out.print("年龄:"); setnum.age = input.nextInt(); System.out.print("职业:"); setnum.job = input.next(); System.out.print("性别:"); setnum.sex = input.next(); count++; //录入英雄后的总数+1 for (int i = 0; i < count; i++) { if(setnum.age < actor[i].age){ //如果新录入英雄的年龄要比录入英雄小 setIndex = i; //记录索引 break; } } if(setIndex == -1){ //如果没有找到 actor[count] = setnum; //把新录入英雄的放到最后的位置 }else{//否则从英雄的总数量-1开始遍历,到记录的索引 for (int i = count - 1; i >= setIndex; i--) { actor[i + 1] = actor[i]; //把前面一个值赋给后面一个值 } actor[setIndex] = setnum; //把新录入的值赋给记录索引的位置 } System.out.println("添加后"); System.out.println("姓名\t年龄\t职业\t性别"); for (int i = 0; i < count; i++) { System.out.println(actor[i]); } }}
——By 莫名 2017年12月12日
阅读全文
1 0
- Java类和对象,对象的创建
- java的类和对象
- java的类和对象
- Java的类和对象
- Java的类和对象
- java的类和对象
- Java的类和对象
- Java的类和对象
- java的类和对象
- java的类和对象
- JAVA的类和对象
- Java的 面向对象 (类和对象的关系)
- Java类和对象的初始化顺序
- Java 类和对象的初始化过程
- java中类和对象的理解
- java类和对象的关系
- java 类和对象的关系
- Java的对象和类-笔记
- 习题6.5
- 分布式缓存Redis之资源释放
- 例7.1
- MongoDB语法实践
- 能量采集
- JAVA的类和对象
- 走出软件作坊 第三十章 蛋白质女孩
- linux 查看线程或cpu
- MongoDB中的增删改操作
- Jeddict工具详解
- 把一块钱换成1分2分5分的硬币,有多少种方法?
- windows下通过javah.exe生成java类的.h头文件
- 马克思手稿中的数学题
- 决策树