认识类和对象
程序中的类其实就是指的是现实生活中的的类别;、
程序中的对象就是指的是现实生活中某个类别下的特定个体
类和对象
对象
属性——对象具有的各种特征
每个对象的每个属性都拥有特定值(属性-属性值)
方法——对象执行的操作
对象:用来描述客观事物的一个实体,有一组属性和方法构成
对象是一个你能看得到、摸得着的实体
类
类:具有相同属性和方法的一组对象的集合
类是抽象的概念,仅仅是模板
结论:类是对象的抽象,对象是类的具体
定义类
接下来看看如何创建类?
类名首字母一定要大写
public class 类名{
//定义属性部分
属性1的类型 属性:;
...
属性n的类型 属性n;
//定义方法部分
方法1;
...
方法m;
}
定义类的步骤:
1)定义类名
2)编写类的属性
3)编写类的方法
使用类图描述类:
类图用于分析和设计“类”
直观、容易理解
创建和使用对象
创建对象:
类名 对象名 = new 类名();
如果要引用对象成员则使用"."进行以下操作
引用类的属性:对象名.属性
引用类的方法:对象名.方法名()
类的方法
类的方法的作用:
方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果
类的方法定义类的集种行为(或功能)
定义一个方法:
public 返回值类型 方法名(){
//编写方法的主体
}
注意:方法名需用驼峰命名规则,有意义的命名
方法返回值的两种情况:
1)如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该值的类型
2)返回值只能有一个
3)如果方法没有返回值,返回值类型为void
方法调用
方法之间允许相互调用,不需要知道方法的具体实现,实现重用,提高效率
课后练习
学院类实现:
//学生类
public class Stu {
String name = "张浩";//姓名
int age = 10;//年龄
int classes = 51;//班级
String hobby = "篮球";//爱好
public String stuInfo() {//返回信息的方法
return name+"\n年龄:"+classes+"班\n爱好:"+hobby;
}
}
//学生测试类
public class TestStu {
public static void main(String[] args) {
Stu stu = new Stu();
System.out.println(stu.stuInfo());
}
}
输出结果:
教员类实现:
//教师类
public class Teacher {
String name = "王老师";
String major = "计算机";
String courses = "使用Java语言理解程序逻辑";
int year = 5;
public String teacherInfo() {
return name+"\n专业方向:"+major+"\n教授课程:"+courses+"\n教龄:"+year;
}
}
//教员测试类
public class TestTeacher {
public static void main(String[] args) {
Teacher teacher = new Teacher();
System.out.println(teacher.teacherInfo());
}
}
输出结果:
练习二
定义一个圆类-Circle,在类的内部提供一个属性: 半径(r),同时提供两个方法:计算面积 (getArea())和 计算周长 (getPerimeter()) 。通过两个方法计算圆的周长和面积并且对计算结果进行输出。最后定义一个测试类对 Circle 类进行使用。
//圆类
public class Circle {
double r;//圆的半径
public double getArea() {
return 3.14*r*r;
}
public double getPerimeter() {
return 3.14*r*2;
}
}
import java.util.Scanner;
//圆的测试类
public class TestCircle {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入半径:");
Circle yuan = new Circle();
yuan.r = input.nextDouble();
System.out.println("圆的面积为:" + String.format("%.2f", yuan.getArea()));//保留两位小数
System.out.println("圆的周长为:" + yuan.getPerimeter());
input.close();
}
}
输出结果: