Java核心学习笔记区
2,属性
3,方法:具体函数实现
4,创建对象:
类名 对象名=new类名();(只有构造函数,垃圾定期自动回收,亦可自动调用)
对象名.属性
对象名.方法
5,封装
属性私有化,提供公共的访问方法(setXxx/getXxx) //首字母大写规范。
一个属性对应两个方法。(自动生成)
6,构造方法:初始化对象
特点:无返回值, 方法名与类名一至,通过对象创建调用(一般带参数)
7,方法的重载(overload)
同一个类下,如果有两个方法名字相同,参数列表不同(参数个数,类型,位置)
8,继承:简化代码
特点:子类继承父类的方法和属性(利用setXxx/getXxx访问属性),单继承
(1),方法重写:子类的方法定义与父类的完全相同(函数名,个数,类型)
(2),在子类中调用父类的被重写的方法用super.函数名()
super()调用父类的构造方法
9,祖先类:Object(是所有类的父类)
10,多态:一个事物的多种形态
使用格式:父类 对象名=new 子类() (定义父类的对象,调用子类方法,语法属于父类)
必要条件:
(1),继承
(2),方法重写
(3),父类或者接口的引用指向子类或者实现类的实例
实现格式:父类+对象 new 子类();
实现格式:接口+变量对象=new 实现类();
11,抽象方法:一个方法只有定义,无方法体,存在于父类。
抽象方法声明:public abstract void + 方法名
12,抽象类:含有抽象方法的类
public interface +类名
13,接口:定义行为规则,实现类要重写接口的所有方法
作用:多个类找不到公共父类时用接口实现多态,利用实现类的公共关系建立,接口的引用指向实现类。
格式: 接口+变量对象=new 实现类();
14,集合:"长度动态数组",用Java提供的ArrayList类
数组:定长,类型固定,顺序存储。
集合:
15,异常处理:避免程序终止(try-cache-finally)
try
{
//可能发生的异常代码
System.out.println(10/0);
//try中出现异常之后的代码不执行
}
chtch(Exceptiom e)//只写Exception全保险
{
//处理异常的代码
System.out.println("提示除数不能为0")
}finally{//在catch 后面
//不管是否异常,最后都要执行这部分代码
}
person.Java
```package ATM;
public class person {
private int id,mypass;
private double money ;
private String name;
public person(int id,String name,int mypass,double money)//构造方法
{
this.id=id; //
this.name=name;
this.mypass=mypass;
this.money=money;
}
// Scanner input =new Scanner(System.in);
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
public void setId(int id)
{
this.id=id;
}
public int getId()
{
return id;
}
public void setMypass(int mypass)
{
this.mypass=mypass;
}
public int getMypass()
{
return mypass;
}
public void setMoney(double m)
{
money=m;
}
public double getMoney()
{
return money;
}
}
ATM.Java
```package ATM;
import java.util.*;
public class ATM {
person per;///记录当前登陆成功的用户
Scanner input =new Scanner(System.in);
private ArrayList ulist=new ArrayList();
public ATM()
{
person p1=new person(1001,"张三",111111,10000);
person p2=new person(1002,"张一",222222,10001);
person p3=new person(1003,"张二",333333,10002);
person p4=new person(1004,"张四",444444,10003);
person p5=new person(1005,"张五",555555,10004);
ulist.add(p1);
ulist.add(p2); //写在里面。
ulist.add(p3);
ulist.add(p4);
ulist.add(p5);
}
public void search()
{
System.out.println("***************");
System.out.println("卡号:"+per.getId());
System.out.println("姓名:"+per.getName());
System.out.println("金额:"+per.getMoney());
System.out.println("****************");
//System.out.println("卡号:"+id +"\n"+"姓名:" +name +"\n" +"金额:" +money);
}
public void take()
{
System.out.println("取款");
System.out.println("请输入您的取款金额");
double qu=input.nextDouble();
if(qu>per.getMoney())
{
System.out.println("金额不足");
}
else
{
double a=per.getMoney()-qu;
per.setMoney(a);
System.out.println("取款成功");
}
}
public void cun()
{
System.out.println("存款");
System.out.println("请输入您的存款金额");
double cun=input.nextDouble();
per.setMoney(cun+per.getMoney());
System.out.println("存款成功");
}
public void quka()
{
System.out.println("谢谢使用");
}
public void zhuanzhang()
{
System.out.println("请输入您要转入的账号:");
int inid = input.nextInt();
for(int i=0;i<ulist.size();i++){
person p= (person)ulist.get(i);
if(p.getId() == inid) {
System.out.println("请输入您要转账的金额:");
System.out.println();
int inMoney = input.nextInt();
p.setMoney(p.getMoney() + inMoney);
per.setMoney(per.getMoney() - inMoney);
System.out.println("转账成功!");
return;
}
}
System.out.println("没有您要转入的卡号!");
}
public boolean login()//判断登陆
{
System.out.println("请输入密码");
int inpass=input.nextInt();
for(int i=0;i<ulist.size();i++)
{
person p=(person)ulist.get(i);
if(p.getMypass()==inpass)
{
per=p; 关键:替换成当前用户。
return true;
}
}
return false;
}
public void begein()//进入
{
if(login())
{
System.out.println("*************************");
System.out.println();
System.out.println();
System.out.println("欢迎来中国建设银行总行");
System.out.println();
System.out.println();
System.out.println("*************************");
int num=0;
while(num!=5)
{
System.out.println("请输入您要进行的操作:");
System.out.println("1,查询余额 ");
System.out.println("2,取款 ");
System.out.println("3,存款");
System.out.println("4,转账");
System.out.println("5,退卡");
num=input.nextInt();
switch (num) {
case 1:
search();
break;
case 2:
take();
break;
case 3:
cun();
break;
case 4:
zhuanzhang();
break;
case 5:
System.out.print("谢谢您的使用,欢迎下次光临");
default:
break;
}
}
}
else
{
System.out.println("密码输入错误");
login();
}
}
}
Test.Java
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
ATM a = new ATM();
a.begein();
}
}