面向对象
1:类和对象的概念
2:创建类,创建对象
3:调用类中的无参方法
4:调用类的带参方法
带参方法语法结构
返回类型:int double String boolean 数组 对象 等 只能有一个
形参类型: int double String boolean 数组 对象 等,且个数不限
1)单个参数的传入
2)多个参数的传入
1)数组做为参数传入
见源码
2)对象作为参数传入
见源码
封装
1:构造方法
作用:对象的初始化
1)无参构造:参数列表中无参数
声明变量值的优先级
创建对象后赋值>构造器赋值>成员变量赋值
2)带参构造:参数列表中有一个或多个参数
创建对象后赋值>构造器赋值>成员变量赋值
3)隐式构造:默认存在,但是自定义构造器后,将被覆盖
类的加载顺序
静态代码块>构造器>成员变量赋值
在非静态方法中,无法定义静态局部变量。
在静态方法中的变量必须是静态修饰。
在静态方法中想使用其他类的非静态方法,需要创建对象,使用对象名调用
在静态方法中使用其他静态方法,如果是同一个类文件,直接调用,如果是不同类文件,使用类名调用
练习
1.银行问题
package day6homework;
import java.util.Scanner;
public class Bank {
Scanner input =new Scanner(System.in);
double sum=0.0;
double cun=0;
int choice;
double qu;
double d;
//存款
public void add(Double cun) {
cun=input.nextDouble();
sum+=cun;
}
//取款
public void dis(Double qu) {
if (qu>sum) {
System.out.println("对不起您的余额不足");
}
else {
qu=input.nextDouble();
sum-=qu;
}
}
}
测试类
package day6homework;
import java.util.Scanner;
public class BankTest {
public static void main(String[] args) {
Bank b = new Bank();
Scanner input =new Scanner(System.in);
System.out.println("请选择你需要办理的业务:");
for (; ; ) {
System.out.println("1.存款 2.取款 0.退出");
int choice=input.nextInt();
if (choice==1) {
System.out.println("请输入存款金额:");
b.add(b.cun);
System.out.println("存款成功");
System.out.println("*****当前余额为"+b.sum+"元*****");
}
else if (choice==2) {
System.out.println("请输入取款金额:");
b.dis(b.qu);
System.out.println("取款成功");
System.out.println("*****当前余额为"+b.sum+"元*****");
}
else {
System.out.println("谢谢使用!");
}
}
}
}
2.Student
package day6homework;
public class Student1 {
private String name;
private int age;//条件在20~100
public void name() {
this.name="周杰伦";
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age>=20||age<100) {
this.age = age;
}
else {
this.age=40;
System.out.println("输入年龄数值错误");
}
}
public void show() {
System.out.println("大家好,我是"+this.name+"今年"+getAge()+"岁");
}
}
测试类
package day6homework;
public class Student1Test {
public static void main(String[] args) {
Student1 stu =new Student1();
stu.setAge(40);
stu.name();
stu.show();
}
}