记录我的java学习03

# 1、重载

定义:在同一个类中,方法的名字一样,参数列表不一样(包括参数类型)的两个方法是重载关系,跟返回值没有关系。通俗理解为省了给method重新命名

好处:不用为不同的参数类型或者参数个数而写多个函数,虽然名字相同,但根据参数表可以自动调用对应的函数。可以不用记那么多的方法名称,减少写参数名或者方法名的重复步骤

目的:为了节约方法的功能命名和提高代码的可读性

 

# 2、this关键字

1、this变量中保存了内存地址指向了自身,this存储再JUM堆内存中Java对象的内部

2、创建100个java对象,每一个对象都是this,也就是有199个不同的this

3、重点:没有static关键字的方法称为"实例方法"。实例方法访问:"引用"

4、没有static关键字的变量成为"实例变量"

5、实例即为一个类中的对象

注意:当一个行为/动作执行过程中是需要对象参与的,那么这个方法一定要定义为"实例方法"

​         ,不要用带static关键字

6、当this用来区分实例变量和局部变量的时候,"this"不能省略

​            public void setId(int id){

​            this.id = id;

​            //前面一个this.id是实例变量id,等号后面的id是局部变量

​            //main函数中的变量是局部变量

​    }

this()这种语法只能出现在构造方法的第一行

 

7、带有static的方法中,不能直接访问实例变量和方法,因为实例变量与方法都需要对象的存在,需      要创建对象来访问

8、this只能在对象方法内使用。

对于类的对象来说,属性是每一个对象都有一份的,是数据隔离的,但是方法是多个数据共享的。不同对象调用这个方法的时候,是用this来区分不同对象的数据,this是可以隐藏的

# 3、构造器

1、构造器通常也叫做构造方法、构造函数,当new一个对象的时候,就会调用构造器

2、使用: 
                修饰符 + 类名 (参数列表,可以没有参数){

这里不能有return

}

3、构造器名称必须和类名一致,不能声明void,访问权限可以为任意,一般情况下使用public

4、一个类中可以定义多个构造器,但是构造器的参数列表必须不同(重载)

5、如果没有手动定义构造器,java系统会提供一个默认的构造器,一旦定义了有参构造器,系统会把默认构造器回收

6、构造器的对象:实例化对象,给对象赋初值

7、代码游离块先执行

8、构造器本身是一个方法。

# 4、关于成员变量和静态变量

1、被static修饰的成员变量叫做静态变量,也叫做类变量,说明这个变量是属于这个类的,而不是属于对象,没有被static修饰的成员变量叫做实例变量,说明这个变量是属于某个具体的对象的。

2、成员变量存在于堆的内存中,静态变量存在于方法区中

3、成员变量是随着对象的创建而存在,随着对象被回收而消失;而静态变量是随着类的加载而存在,随着类的消失而消失

4、成员变量只能被对象所调用、而静态变量不仅可以被对象调用,还可以被类名调用

5、静态方法只能访问静态变量和静态方法

6、静态方法不可以使用this或者super关键字

7、static修饰的静态成员变量是所有对象共享的,不存储在某个对象空间中

8、静态代码块

​                        static{

}

静态代码块只在类加载时执行一次,执行完成便销毁,它仅能初始化类变量,经常用于初始化资源

静态代码块在main之前执行

# 5、关于final

 1、final修饰一个类的时候当前类不能有任何子类,所有的成员方法都无法进行覆盖重写(因为没儿子)

 2、final修饰成员变量:由于成员变量有默认值,所以用了final后必须手动赋值,后续不能更改,                  也不会给默认值,并且只能赋值一次,且必须是在这个成员变量所在的类对象创建之前被赋值。

 3、final是【最终】的意思。final是一个关键字,它可以被用来修饰类,变量以及成员方法。

 4、必须赋初始值或者可以在构造函数赋初始值,否则会编译错误

 5、当final关键字修饰了成员方法,则意味着这个方法不能被重写,但是可以被继承。

 6、当final关键字修饰一个类,则该类会成为最终类,即该类不能被继承。

# 6、单例

1、单例模式是指再内存中只会创建且仅创建一次对象的设计模式。

​      在程序中多次使用同一个对象且作用相同时,为了防止频繁地创建对象使得内存飙升

​      单例模式可以让程序仅在内存中创建一个对象,让所有需要调用地地方都共享这一单例对象

2、关于懒汉式于饿汉式

​       ①懒汉式:在真正需要使用对象时才去创建该单例类对象

​        ②:在类加载时已经创建好该单例对象,等着被程序调用

3、创建步骤

      ①私有化构造器(防止别人也可以创建)、定义一个私有地成员变量(保存当前类对象)

​      ②定义一个类方法用于获取单例的对象

​      ③在类中提供一个这个类型的类属性(要用static修饰)

​      ④在类方法中返回实例化对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值