Java面向对象--类与对象
面向过程与面向对象
开发方法有结构化开发和面向对象开发,结构化开发又称面向过程开发,最常见的就是C语言,java是一种面向对象开发语言。
结构化开发
①面向功能划分软件结构
②自顶而下
③最小的子系统是方法
④制约了软件的可维护性和可扩展性
面向对象开发
①吧软件系统看成各种对象的集合
②系统结构较稳定
③子系统相对独立
④软件可重用性、可维护性和可扩展性强
对象
对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。描述对象的两大特征为属性和方法
属性
属性是对象具有的各种特征。每个对象的每个属性都拥有特定的值
例如有个名为张浩、年龄为20、体重为60kg的人
方法
方法就是对象执行的操作,简单来说就是这个对象能够做什么事情。
例如收银员可以收银、打印账单、刷卡等
属性和方法一同构成了对象。例如:一辆车,它的属性有品牌、颜色、价格等,方法有启动、停止、加速等。
类
类:具有相同属性和方法的一组对象的集合。
类与对象的关系可以概括成一句话:类是对象的抽象,对象是类的具体实现
例如人就是一个类:具有姓名、年龄、体重等属性,衣食住行等方法。当具体到某个人是比如张三、李四时,它就是一个对象,每个都想都有人这个类的共同特征和方法。
Java类
所有的java程序都以类class为单元组成;
关键字class定义自定义的数据类型,比如前面我们写的第一个java程序HelloWorld
java中的类可大致描述为一下模板内容:
public class 类名{
//定义属性部分
属性1的类型 属性1;
...
属性n的类型 属性n;
//定义方法部分
方法1;
...
方法n;
}
创建和使用对象
假设我们有个School类,它包含姓名name属性,有一个showCenter()方法
使用对象的步骤:
①创建对象
// 类名 对象名 = new 类名();
School school = new School();
②引用对象
// 使用"."号进行操作
school.name = "初级中学"; // 给name属性赋值
school.showCenter(); //调用showCenter()方法
实例
编写一个学生类,他有姓名、年龄、班级、爱好属性,有一个自我介绍的方法
public class Student {
// 姓名
String name;
// 年龄
int age;
// 班级
String className;
// 爱好
String habbit;
// 自我介绍方法
void introduction(){
System.out.println("我叫"+name+",今年"+age+"岁,我就读于"+className+",喜欢"+habbit);
}
}
编写测试类TestStudent
public class TestStudent {
public static void main(String[] args) {
Student student = new Student();
Scanner sc = new Scanner(System.in);
System.out.println("请输入姓名:");
student.name = sc.next();
System.out.println("请输入班级:");
student.age = sc.nextInt();
System.out.println("请输入班级:");
student.className = sc.next();
System.out.println("请输入爱好:");
student.habbit = sc.next();
student.introduction();
}
}
类的方法
方法可以分为有返回值和无返回值。在上述例子中,我们编写了一个introduction()方法,它是一个无返回值的方法
方法的格式:
无返回值:
[访问修饰符类型] void 方法名(){
代码;
}
有返回值:
[访问修饰符类型] 返回值类型 方法名(){
代码;
return 返回值;
}
实例
修改密码:但用户输入的密码与旧密码一致时可以修改,否则无法修改
// 编写User类
public class User {
String userName = "admin";
String oldPass = "123456";
void change(String newPass){
oldPass = newPass;
System.out.println("密码更新成功,您的新密码为:"+oldPass);
}
}
编写TestUser类
public class TestUser {
public static void main(String[] args) {
User user = new User();
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = sc.next();
System.out.println("请输入密码:");
String pass = sc.next();
if(name.equals(user.userName)&&pass.equals(user.oldPass)){
System.out.println("请输入新密码:");
String newPass = sc.next();
user.change(newPass);
}else{
System.out.println("用户名密码不匹配!您没有权限更改密码!");
}
}
}
上一篇: Git使用手册