我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

java-贺威栋-2021.03.10

[复制链接]
I5029学员认证 发表于 2021-3-10 19:01:43 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
package day04;
/*
static 静态
    修饰成员变量:
    修饰方法:
*/
public class Demo09 {
    public static void main(String[] args) {
        Voter voter1 = new Voter();
        voter1.name = "张三"; // 没有static修饰,用 实例名.变量名 来调用
        voter1.vote(); // 投票
        System.out.println("当前票数:" + Voter.count); // static修饰后,用 类名.变量名 来调用
        Voter voter2 = new Voter();
        voter2.name = "李四";
        voter2.vote(); // 投票
        System.out.println("当前票数:" + Voter.count);
        Voter voter3 = new Voter();
        voter3.name = "王五";
        voter3.vote(); // 非静态的方法调用,类名.方法名
        Voter.getCount(); // 静态方法的调用,类名.方法名
        for (int i = 0; i < 20; i++) {
            Voter v = new Voter();
            v.name = "选民" + i;
            v.vote();
            Voter.getCount();
        }
        // 类同名时,把包名带上
        day01.Demo01 d = new day01.Demo01();
        day02.Demo01 d2 = new day02.Demo01();
    }
}
/*
选民类
*/
class Voter {
    String name; // 选民的名字,每个实例特有的属性
    static int count; // 所有选民共用的。属于类的
    // 投票方法
    public void vote() {
        if (count == 20) {
            System.out.println("投票活动结束");
        } else {
            System.out.println(name + "感谢投票");
            count++;
        }
    }

    // 静态方法
    public static void getCount() {
        // 非静态的成员变量在静态方法中不能使用 name不能用)
        System.out.println("当前票数:" + count);
    }
}
/*
final 关键字
    修饰类:类不能被继承
    修饰方法:不能被子类重写
    修饰成员变量:只能被赋值一次,不能修改
    修饰局部变量:只能被赋值一次,不能修改
*/
public class Demo08 {
}
final class A {
    // class B extends A{} 类A不能被继承
}
class B {
    final float PI = 3.14f; // 常量
    public static final float pi = 3.14f; // 常量
    public final void func() {
        final String name;
        name = "Hello";
        // name = "Hello World"; name只能被赋值一次
        // PI = 301415926f; 不能修改
    }
}
class C extends B {
    // public void func() { } 不能被子类重写
}
/*
接口中不能有构造方法
接口采用的是多继承的机制,一个类可以实现多个接口
*/
public class Demo07 {
    public static void main(String[] args) {
        CommonDoor d1 = new CommonDoor();
        d1.open();
        d1.close();

        AlarmDoor d2 = new AlarmDoor();
        d2.open();
        d2.close();
        d2.alarm();
        d2.usb();
    }
}
/*
门:抽象类,开门、关门两个方法
警报:接口类,报警的功能
普通门:从门继承,实现开门、关门两个方法
Usb:接口类,提供usb接口
防盗门:从门继承,实现开门、关门两个方法;同时具有报警的功能,实现报警的接口
*/
// 门
abstract class Door {
    public abstract void open();
    public abstract void close();
}
// 警报
interface Alarm {
    void alarm();
}
// Usb接口
interface Usb {
    void usb();
}
// 普通门
class CommonDoor extends Door {
    @Override
    public void open() {
        System.out.println("没有锁,一推就开了");
    }
    @Override
    public void close() {
        System.out.println("没有锁,一推就关了");
    }
}
// 防盗门
class AlarmDoor extends Door implements Alarm, Usb {
    @Override
    public void open() {
        System.out.println("指纹锁,指纹验证成功,门打开");
    }
    @Override
    public void close() {
        System.out.println("关门,依次上三道锁");
    }
    @Override
    public void alarm() {
        System.out.println("报警:生人靠近!");
    }
    @Override
    public void usb() {
        System.out.println("连接电源,给指纹锁充电!");
    }
}

回复

使用道具 举报

关注0

粉丝0

帖子27

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备20001493号-1 )

版权所有 © 西安菁英教育科技有限公司 2023-2026