【JAVA全栈工程师 基础笔记】

可见性

publicprotecteddefualtprivate
同一类中YESYESYESYES
同一包中YESYESYES
子类YESYES
不同包中YES

单例模式

单例模式的要点有三个: 一是某个类只能有一个实例(对象);二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。
单例模式的目的:保证该类只有一个对象。怎么办?
第一步:把构造方法私有
第二步:在成员位置自己创建一个对象(即创建一个成员变量)
第三步:通过一个公共的方法提供访问

单例模式的优点如下:
实例控制: 单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保
所有对象都访问唯一实例。
灵活性: 因为类控制了实例化过程,所以类可以灵活更改实例化过程。


package com.etime12;

public class TestDog {
    /**
     * 饿汉式
     */
    /*
    private final static TestDog  dog = new TestDog();

    private TestDog(){

    }

    public static  TestDog getObject(){
        return dog;
    }*/
    /**
     * 懒汉式
     */
    private static TestDog dog = null;

    private TestDog  () {
    }
    public static TestDog getObject(){
        if (dog==null){
            dog = new TestDog();
        }
        return dog;
    }
}


重载(overload)与重写(override)

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。

实参与形参

形参和实参的特点
(1)形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存

单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形

参变量。

(2)实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数

调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等

办法使参数获得确定值。

(3)实参和形参在数量上,类型上、顺序上应严格一致,否则就会发生类型不匹配的错

误。

(4)在一般传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给

实参。因此在函数调用过程中,形参值发生改变,而实参中的值不会变化。而在引用调用

的机制当中是将实参引用的地址传递给了形参,所以任何发生在形参上的改变实际上也发生在实参变量上。

多态

多态的总结
在涉及多态的编程中,请注意以下细节:
1、静态方法
静态方法不能被重写,所以静态方法也没有多态性
2、成员变量
成员变量不具备多态性。成员变量的值取决于引用所属的类
3、成员方法
编译时:检查引用变量所属类中是否有所调用的方法。运行时:调用实际对象所属类中的重写方法。

==和equals的区别

==号和 equals 方法的区别:
== 是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是两个对象的内存地址
equals方法是一个方法,只能比较引用数据类型,所有的对象都会继承Object类中的方法,通过查看object类中的源码可知:如果没有重写object类中的equals方法,equals方法和==号比较引用数据类型无区别。
小结: 默认情况下equals比较的是两个对象的内存地址。但是,这么做是什么多大意义的,所以一般都会重写后的 equals方法;在重写的equals方法中比较的两个对象中的属性(成员变量)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值