Java学习DAY7

第六章 面向对象(下)

1.final关键字和static关键字

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.抽象类

在这里插入图片描述

public abstract class Animal {
    public abstract void eat();
    public void sleep(){
        System.out.println("睡觉");

    }
}


public class Cat extends Animal{
    @Override
    public void eat() {
        System.out.println("猫吃鱼");
    }

}


public abstract class Dog extends Animal{
}



public class Test {
    public static  void main(String[] args) {
           Animal a=new Cat();
           a.eat();//猫吃鱼
           a.sleep();//睡觉
    }

}

在这里插入图片描述
抽象类案例:两个班级的老师

public abstract class Teacher {
    private  int age;
    private String name;
    public Teacher(){};
    public Teacher(int age,String name){
        this.age=age;
        this.name=name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public abstract void teach();
}



public class BasicTeacher extends Teacher {
    public  BasicTeacher(){}
    public  BasicTeacher(int age,String name){
        super(age,name);
    }

    @Override
    public void teach() {
        System.out.println("基础班老师讲JavaSE");
    }
}


public class WorkTeacher extends Teacher{
    public  WorkTeacher(){}
    public  WorkTeacher(int age,String name){
        super(age,name);
    }

    @Override
    public void teach() {
        System.out.println("就业班老师讲JavaEE");
    }
}


public class Test {
    public static  void main(String[] args) {
            Teacher aa=new BasicTeacher(38,"Lily");
            System.out.println(aa.getAge()+"-----"+aa.getName());
            aa.teach();



            Teacher bb=new WorkTeacher();
            bb.setAge(28);
            bb.setName("Jack");
            System.out.println(bb.getAge()+"-----"+bb.getName());
            bb.teach();
    }

}

结果:

38-----Lily
基础班老师讲JavaSE
28-----Jack
就业班老师讲JavaEE

Process finished with exit code 0
3.接口

在这里插入图片描述
在这里插入图片描述

public interface Inter {
    public int num1=10;
    public final int num2=20;
    public abstract void  show();
}


public class InterClass implements Inter{
      public InterClass(){
          super();//默认用Object的构造方法
      }

    @Override
    public void show() {

    }
}


public class Test {
    public static  void main(String[] args) {
           Inter a=new InterClass() ;
           System.out.println(a.num1);//10
           System.out.println(a.num2);//20

           System.out.println(Inter.num1);//10
           System.out.println(Inter.num2);//20
    }

}
4.类,接口之间的关系:

在这里插入图片描述

5.抽象类与接口

在这里插入图片描述
案例1:猫狗跳高

public abstract class Animal {
    private String name;
    private int age;
    public Animal(){}
    public Animal(String name,int age){
        this.name=name;
        this.age=age;
    }
    public abstract void eat();

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}


public class Cat extends Animal implements Jump{

    public Cat(){}
    public Cat(String name,int age){
        super(name,age);
    }


    @Override
    public void eat() {
        System.out.println("猫吃鱼");

    }

    @Override
    public void jump() {
        System.out.println("猫要跳高高");
    }
}

public class Dog extends Animal implements Jump {

    public Dog(){}
    public Dog(String name,int age){
        super(name,age);
    }
    @Override
    public void jump() {
        System.out.println("狗要跳高高");
    }
    @Override
    public void eat() {
        System.out.println("狗吃骨头");
    }
}

public interface Jump {
    public abstract void jump();

}
public class Test {
    public static  void main(String[] args) {
        Cat aa = new Cat("MiFei", 3);
        System.out.println(aa.getName()+"---"+aa.getAge());
        aa.eat();
        aa.jump();

        Dog bb = new Dog("Popy", 1);
        System.out.println(bb.getName()+"---"+bb.getAge());
        bb.eat();
        bb.jump();

    }

}

结果:

MiFei---3
猫吃鱼
猫要跳高高
Popy---1
狗吃骨头
狗要跳高高

Process finished with exit code 0

案例2:
在这里插入图片描述

6.包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.四种权限修饰符

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值