前言
对于初学者而言,面向对象的编程思想往往会产生困扰。我们要做到反复学习,勤思考。
一、类和对象的关系
我们可以理解“类”为建房子的模型,而“对象”则是通过模型建造出来的实体,
下图所示。
类 | 对象 |
宠物狗 | 一个叫做“豆丁的中华田园犬”,3岁 |
汽车 | 一个车牌号为京A6666的奔驰,售价50万元 |
二、类的创建
在java中创建类,有固定的编码格式,语法如下:
public class 类名{ //类的属性部分 属性1的数据类型 属性1名称; 属性2的数据类型 属性2名称; 属性3的数据类型 属性3名称; //类的方法部分 方法1的声明; 方法2的声明; }
java程序中定义类,需要如下三个部分。
(1)类的名称 使用大驼峰(Upper Camel Case)
(2) 类的属性部分 属性部分的变量,为成员变量,如果没有指定值,则会根据数据类型分配默认值。
(3)类的方法部分
定义汽车类的代码如下:
public class Car{ //定义属性部分 String brand; //品牌 String color; //颜色 int price; //售价 String license;//牌照 //定义方法部分 public void show(){ System.out.println("一辆牌照为"+"license"+"的"+color+"色\""+brand+"\"汽车,"+"售价"+price+"万。"); }
三、对象的创建和使用
类名 对象名 = new 类名(); Car car1 = new Car();
(1) 引用类的属性:
对象名.属性;
(2)引用类的方法:
对象名.方法();
例如:
car1.brand=“红旗”;
car1.show();
例题
修改密码功能,修改之前,验证旧密码通过则可以设置新的密码,最多三次。
(1)while 循环操作的核心代码需要在测试类的main()方法内实现。
(2) 将程序接收新用户的用户名和密码与原有账号和密码进行对比。
1)管理员类
public class Administrator{ String userName = "admin";//管理员账户 String password = "123456";//管理员密码 public void show(){ System.out.println("账号:"+userName+",密码"+password); } }
2)修改密码测试类
public class ChangePassword{ public static void main(String[] args){ Scanner input = new Scanner(System.in); int i = 0; String name = null;//接手录入的账户 String pwd = null;//接手录入的密码 Administrator admin = new Administrator();//创建管理员对象 System.out.println("===修改管理员密码==="); //修改旧密码 while(i<3){ System.out.print("请输入账户:"); name =input.next(); System.out.print("请输入旧密码:"); pwd=input.next(); //验证旧密码 if(admin.userName.equals(name)&&admin.password.equals(pwd)){ System.out.print("\n请输入新密码:"); admin.password = input.next();//为管理员设置新密码 break; }else{ i++;//记录循环次数 if(i==3){ break; } //提示用户还有几次机会 System.out.println("您输入的信息不正确!还可以尝试"+(3-i)+"次"); } } if(i<3){ System.out.println("密码修改成功"); admin.show();//显示管理员信息 }else{ System.out.println("\n您没有权限更新管理员信息"); } } }