java Day6(记录帖)

本文探讨了Java编程中的单例模式,包括饿汉单例和懒汉单例的实现方式,并通过示例展示了它们的内存占用和访问特性。同时,文章还介绍了类的继承概念,包括子类继承父类的属性和方法,以及静态成员的使用规则。此外,还展示了如何在子类中重写父类方法和访问权限控制的应用。
摘要由CSDN通过智能技术生成

1.static Demo15

package test;

/**
 * 继承
 * 降低代码冗余
 * static
 * 修饰成员变量
 *只能储存一次  可以被共享。修改
 */

public class Demo15 {
    public static void main(String[] args) {
        System.out.println(prac4.onlineNum);
        System.out.println(prac4.getMax(10, 3));

        prac4 a = new prac4();
        a.name = "xsw";
        a.stu();

        //静态方法只能访问静态成员不能直接访问实例成员
        //实例方法可以访问静态成员也能访问实例成员
        //静态不能出现this


    }
}

 2.饿汉单例和懒汉单例Demo16-17

package test;

/**
 * 使用饿汉单例实现单例类
 */
public class Demo16 {
    /**
     * 2.饿汉单例是获取对象前对象   就准备好了一个
     *  定义static
     */
    public static Demo16 instance = new Demo16();



    //1.私有化
    private  Demo16(){
    }
}


=======================================================
package test;

public class Prac5 {
    public static void main(String[] args) {
        Demo16 s1 = Demo16.instance;
        Demo16 s2 = Demo16.instance;
        System.out.println(s1 == s2);


    }

}
package test;

//懒汉单例

public class Demo17 {

    private static Demo17 getInstance;
    public static Demo17 getInstance(){
        if (getInstance == null) {
            getInstance= new Demo17();
        }
        return getInstance;
    }


    private Demo17(){
    }
}

===============================================
package test;

public class prac6 {
    public static void main(String[] args) {
        Demo17 s = Demo17.getInstance();
        System.out.println(s);
    }
}

3.继承 小部分知识点  Demo18

package test;

public class Demo18 {
    public static void main(String[] args) {
        //继承的设计思想
        /*
        子类不能继承父类构造器
        子类可以继承父类私有属性但不能直接访问
        子类共享父类静态成员
         */
        Prac_student n1 = new Prac_student();
        n1.setName("xiaocainiao");
        n1.setAge(20);
        System.out.println(n1.getName());
        System.out.println(n1.getAge());
        n1.que();//父类
        n1.showInfo();//子类

        son n2 = new son();
        n2.setName("xiaobai");
        n2.showname();
        n2.showInfo();

    }
}
=================================================================
package test;

/**
 * 父类
 */

public class Prac_people {
    public String name1 = "小王";
    private String name;
    private int age;



    public void que(){
        System.out.println(name+"在查看课表");
    }


    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;
    }
}
package test;

/**
 * 父类
 */

public class Prac_people {
    public String name1 = "小王";
    private String name;
    private int age;



    public void que(){
        System.out.println(name+"在查看课表");
    }


    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;
    }
}
=============================================================
package test;

public class Prac_student extends Prac_people{
    String name1 = "小哀";

    public void showInfo(){
        System.out.println(super.name1);

        System.out.println(getName()+"在发呆");




    }
}

class son extends Prac_student{

    public void showname(){
        String name1 = "小黑";
        System.out.println(name1);
        System.out.println(this.name1);
    }

    @Override//方法重写
    public void showInfo() {

        super.showInfo();
        System.out.println("你在狗叫什么");

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值