Day8学习总结

复习:
面向对象的特性:继承 封装 多态 设计模式
xx是一种xx
封装-保证数据安全-属性私有化

多态-需要继承做基础,多种形态,重载
调用方法时,先找父类,没有会报错,有则会继续去子类中找,若有则执行子类方法,若无则执行父类方法

设计模式 -单例模式(懒汉式,饿汉式)
一个类最多只允许创建一个对象
1,构造函数私有

oracle – 神域

悲观性

==
equals

包装类

byte   -   Byte
short  -   Short
int    -   Integer
long   -   Long
float  -   Float
double -   Double
char   -   Character
boolean-   Boolean

instanceof:关键字 判断对象是否是该类实例

类之间的关系:继承 关联(聚合,组合):一个类作为另一个类属性存在
依赖:一个类作为另一个类方法的参数
静态块:static{} 类加载时被调用执行
非静态块:创建对象时
Integer Scanner

【练习题】1.多态练习
模拟天天酷跑游戏;
定义一个(宠物)Pet类,类中有属性name,方法是follow(跟随);再定义三个子类,Cat,Dog,Eagle,分别重写follow方法;
再定义一个Hero类,这个类中有两个属性name和Pet类型的pet,一个方法run(),再定义两个构造方法,Hero(String name,);Hero(String name,Pet pet);
run()方法的代码是Hero跑,并且他的宠物也跟着跑;
编写测试类来操作Hero

public class Pet {
    private String name;
    public void follow(){
        System.out.println("zhe shi fu lei - animal");
    }
}



public class Cat extends Pet {
    public void follow(){
        System.out.println("zhe shi zi lei - cat");
    }
    public void ccc(){
    }
}



public class Dog extends Pet {
    public void follow(){
        System.out.println("zhe shi zi lei - dog");
    }
    public void aaa(){
    }
}



public class Eagle extends Pet {
    public void follow(){
        System.out.println("zhe shi zi lei - eagle");
    }
    public void bbb(){
    }
}


public class Hero {
    private String name;
    private Pet pet;
    public Hero(String name) {
        this.name = name;
    }
    public Hero(String name, Pet pet) {
        this.name = name;
        this.pet = pet;
    }
    public void run(){
        System.out.println(this.name+"pao");
        pet.follow();
    }
}

测试类:

 public class Test {
        public static void main(String[] args){
        Pet p = new Dog();
        Hero h = new Hero("妲己",p);
        h.run();
        }
        }

【练习题】2 编译ATM程序:

public class ATM {
    private String[][] count = {{"1001","123456","500"},{"1002","123456","1500"}};
    private String[] currentCount = null;
    public boolean login(String name,String password){
        boolean flag = false;
        for(int i = 0;i=money){
            currentCount[2] = Integer.parseInt(currentCount[2]) - money +"";
        }else {
            System.out.println("余额不足");
        }
    }
    public void tranMoney(String other ,int money){
        getMoney(money);
        for(int i = 0;i

你可能感兴趣的:(Day8学习总结)