java笔记

一、构造器:

1. 构造器是一个创建对象时被自动调用的特殊方法,为的是初始化。 构造器的作用:实例化对象,给对象赋初始值;

2.构造器的名称必须和类名一致;

3.一个类中可以定义多个构造器,但是构造器的参数列表必须不同;

4.java语言中规定每个类至少要有一个构造方法,为了保证这一点,当用户没有给java类定义明确的构造方法的时候,java为我们提供了一个默认的构造方法,这个构造方法没有参数,修饰符是public并且方法体为空。。一旦我们定了构造器,则系统会把构造器收回;

5.构造器的作用:实例化对象,给对象赋初始值;

6.代码游离块优先执行。比如对象中有静态代码块(static代码块),优先执行代码块中的内容。 7.构造器的修饰符比较的有限,仅仅只有public private protected这三个

8.如果类继承了父类,必须使用super调用父类构造器,super的语句必须是子类构造器的第一条语句。

9.构造器是创建JAVA对象的重要途径,通过new关键字来调用构造器。

一:内部类定义

  • 内部类和外部类可以方便的互相访问彼此的private域。

  • 内部类可以直接访问外部类的私有属性,但外部类要访问内部类的私有属性,必须创建内部类对象,再通过创建的内部类对象访问。

  • 内部类是一个相对独立的个体,与外部类不是is a关系

  • 内部类一般分为四种成员内部类、静态内部类、方法内部类和匿名内部类

2.静态内部类(类比静态方法) 静态内部类:定义在类中,用static修饰的内部类 注意

与成员内部类的区别:静态内部类不需要依赖外部类对象! 静态内部类不可以使用任何外部类的非static类(包括属性和方法),但可以存在自己的成员变量。 静态内部类就是普通类,只是套在了类的内部而已 成员内部类可以访问外部类的成员域和静态域,但不能拥有静态域;静态内部类可以拥有成员域,但不能直接访问外部类的成员域,静态域,随便访问。静态方法能访问静态域不能访问成员域

二:方法内部类

方法内部类: 直接定义在方法内部的类,不允许使用任何访问修饰符,对外部完全隐藏,出了方法就没有了。

  • 方法内部类无法定义static域,除此之外和成员内部类的使用相同

  • 方法内部类若使用了方法的形参,该形参为隐式的final声明

 

变量的分类: 变量根据声明的位置进行划分:

1.在方法体中声明的变量叫做:局部变量。 在方法体外声明的变量叫做:成员变量。 其中成员变量又可以分为:实例变量 静态变量

静态变量:

1:静态变量(又称类变量):由static修饰,在JVM中,静态变量的加载顺序在对象之前,因此静态变量不依附于对象存在,可以在不实例化类的情况下直接使用静态变量

2:静态变量属于类,不属于类中任何一个对象,因此静态变量又叫做类变量,一个类不管创建多少个对象(对象是类的一个实例),静态变量在内存中有且仅有一个。

3 实例变量:

实例变量(又称成员变量):必须依附于对象存在,

只有实例化类后才可以使用此类中的实例变量

 

全局变量和局部变量的区别如下:

1,作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等

2,内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区

3,生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了

4,使用方式不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用。函数内部会优先使用局部变量再使用全局变量。

5,工具类里的方法都使用静态的。(静态方法有一个优点,是不需要new对象,直接采用类名 调用,极其方便。工具类就是为了方便,所以工具类中的方法一般都是static的。)

6,什么时候变量声明为实例的,什么时候声明为静态的?

如果这个类型的所有对象的某个属性值都是一样的,不建议定义为实例变量,浪费内存空间。 建议定义为类级别特征,定义为静态变量,在方法区中只保留一份,节省内存开销。

一个对象一份的是实例变量。 所有对象一份的是静态变量。

实例属性赋值过程:

默认初始化(null,0)——> 显示初始化(name=“zhang”,age=16)——> 构造代码块 ——> 构造方法

1.什么是重载?

1.在java中允许同一个类存在一个以上方法名相同,但是参数列表不同的情形,这种情况即称为重载

2.重载的定义: ①同一个类中 ②多个方法名字相同 ③参数列表不同:

3.判断是否是重载:  重载跟方法的 权限修饰符,返回值类型,形参变量名,方法体 都无关

只看-->同名,不同参数个数或不同参数类型或不同参数顺序

重载的作用:

①多个方法用同一个名字,调用的时候,无需记住那么多的方法名

②对程序员而言,调用时直接根据所需自动匹配方法,减少了写方法名的重复步骤

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值