创建类:
public class 类名
以学生类为例:
//学生类
public class Student {
String stuno; //学生学号
String stuname; //学生姓名
int age; //年龄
String sex; //性别
double javascore; //java成绩
double jsscore; //js成绩
public void jieshao(){//自我介绍
//void表示没有返回值
System.out.println("我的学号是"+stuno+",我的名字是"+stuname+",今年"+age+",我的性别是"+sex);
}
//求总分
public double sum(double a,double b){//形式参数
double sum=a+b;
return sum;
}
//求平均分
public double avg(double x,double y){//形式参数
double avg=(x+y)/2;
return avg;//有返回值,有参数,最后用return
}
}
创建对象:
import java.util.Scanner;
//StudentText类用于测试
public class StudentText {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
Student stu=new Student();//创建学生对象
System.out.println("请输入学生学号:");
stu.stuno=input.next();
System.out.println("请输入学生姓名");
stu.stuname=input.next();
System.out.println("请输入学生年龄");
stu.age=input.nextInt();
System.out.println("请输入学生性别");
stu.sex=input.next();
System.out.println("请输入学生java成绩");
stu.javascore=input.nextDouble();
System.out.println("请输入学生js成绩");
stu.jsscore=input.nextDouble();
stu.jieshao(); // 输出介绍
//输出学生总分,平均分
System.out.println("学生的总分为"+(stu.sum(stu.javascore,stu.jsscore)));
System.out.println("学生的平均分为"+(stu.avg(stu.javascore,stu.jsscore)));
}
}
我们定义了一个类之后,就等于定义了一个新的数据类型,类是创建对象的模板,对象的属性在类中被定义为成员变量,对象的方法则被定义为成员方法。
首先Student类封装了学生信息,void表示没有返回值,求平均分时是有返回值,有参数的,需要使用return。类型创建完毕后,就要创建该类型的对象,在java语言中,使用关键字“new”创建一个类型的对象,就是我们上面写的StudentText:学生测试类,如果声明一个没有指向任何对象的引用类型的变量,那么该变量的值为null,例如:Student stu;
这个就是面相对象的三大基石之一 —— 封装,封装就是把不想或不该告诉别人的东西隐藏起来,把可以告诉别人的公开(隐藏对象的属性和方法的实现细节,只公开对外接口),具体做法就是把属性私有化,提供公有的方法访问这些属性,在这些公有方法中实现对属性的控制。这样可以使我们的隐私得到保护,所以这个封装对我们是有很大帮助的。