javaSE(基础二) 面向对象
- 对象:是具体的实物
- 类:是对对象的抽象
- 类可以看做是一个模板,或者图纸.系统根据类的定义来造出对象
语法声明:
修饰符 class 类名{
//属性:成员变量
修饰符 数据类型 变量名=赋值;
//成员方法
修饰符 返回值类型 方法名(参数列表){
方法体;
}
}
// 成员变量:定义在类中方法外的变量
// 成员方法:不加static修饰的方法
/*引用数据类型的调用 :数组,接口,类
*** 引用数据类型 引用名 = new 引用数据类型();*/
注意: 自定义引用数据类型可以作为方法的参数,也可以作为方法的返回值类型
使用类中的成员变量和方法需要new一个对象,使用对象调用成员变量和方法.
同一个类中的每一个变量有不同的成员变量存储空间;
同一个类中的每个对象共享该类中的方法.
new关键字的作用:
1)为当前对象在堆中开辟一块空间,成员变量跟随对象一起进入堆内存中并赋默认值
2)调用构造方法为对象初始化
3)将对象的内存地址赋值给对象名
练习
/*4)定义系统模拟计算器使用功能:(2个数据的_,-,*,/)
对用户输入的数据进行计算
进行那种计算通过用户指定,然后计算返回给用户结果*/
package com.xxxx.test02;
/*
计算器类
*/
public class Calculator {
public int num1; //操作数1
public int num2; //操作数2
public String op; //运算符
public double result; //结果
//加法
//参数int a,int b 返回值:结果
public void add(){
result = num1+num2;
}
//减法
public void sub(){
result = num1-num2;
}
//乘法
public void mul(){
result = num1*num2;
}
//除法
public void div(){
result = num1/num2;
}
//界面计算器系统显示界面
public String show(){
return "欢迎来到XX计算器系统:\n"
+"7\t8\t9\t/\n"
+"4\t5\t6\t*\n"
+"1\t2\t3\t-\n"
+"0\t \t=\t+";
}
//输出结果
public String res(){
return "结果为="+num1+op+num2+"="+result;
}
}
package com.xxxx.test02;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//计算器
Calculator cal = new Calculator();
Scanner sc = new Scanner(System.in);
System.out.println(cal.show());
System.out.println("请输入要操作的数据1:");
cal.num1 = sc.nextInt();
System.out.println("请输入要符号");
cal.op = sc.next();
System.out.println("请输入要操作的数据2:");
cal.num2 = sc.nextInt();
//计算
switch (cal.op){
case "+":
cal.add();
break;
case "-":
cal.sub();
break;
case "*":
cal.mul();
break;
case "/":
cal.div();
break;
}
System.out.println(cal.res());;
}
}
//总结: 1)将方法中公共的变量放到最开始声明成成员变量
// 2)做定值判断时switch非常合适