CoreJava笔记之JavaBean、静态方法static和final

记住两句话:

1.属性是静态绑定到变量类型;

2.方法是动态绑定,由最终对象的方法决定

===============================

关于JavaBean:

1、不是语法规则,是习惯性编程规范,用这个规范写的类使用方便;

2、规范:

a、必须有包;

b、是一个java类,具有无参数构造器;

c、有用getXxx() 和setXxx()声明的Bean属性。

如:getName()和setName(String n)声明的Bean属性为:name,与是否有实例变量name无关。

boolean类型的get方法可以有两种形式:getMarried()或者isMarried()

d、必须实现序列化接口(在学习IO的时候具体学习)

e、JDK提供的类几乎都符合JavaBean规范,如String

3、JavaBean最大的好处:“使用方便”

===============================

实例变量:对象的属性,每个对象都不同,如:矩形的宽度

static 修饰词(关键字),用来修饰类的成员的

1、静态修饰的成员变量,是属于类级别的变量,是在类的加载期间分配的,所有类和类的实例共享的一个变量,相当于全局变量。一般使用类名访问静态属性,Koo.x = 3;

2、静态的方法。是属于类的方法,可以通过类名访问。是全体类公有的工具方法。静态方法和类的实例无关。

注:静态方法中不可以方位“this”,或者说:静态方法访问静态成员。

3、静态代码块,是在类加载期间运行的代码块,由于类只加载一次,所以静态代码块只执行一次!用途不是很常见,一般用来在类加载以后初始化一些静态资源时使用,如:加载配置文件。

4、静态内部类(参见以后的内部类笔记)

===========================

1、final修饰的类,不能再被继承

java的string就是final类,不能被继承!

在实际开发中,原则上不允许使用final类!

2、final修饰的方式,不能再被覆盖

3、final修饰的变量,初始化以后不允许在修改了

final局部变量、方法参数、成员变量

4、final static -- java使用final static 修饰的变量作为常量,一般要求常量名都有大写字母

时间: 2024-11-10 13:21:19

CoreJava笔记之JavaBean、静态方法static和final的相关文章

疯狂java学习笔记之面向对象(八) - static和final

一.static: 1.static是一个标识符: - 有static修饰的成员表明该成员是属于类的; - 没有static修饰的成员表明该成员是属于实例/对象的. 2.static修饰的成员(Field.方法.初始化块),与类共存亡:static修饰的成员建议总是通过类名来访问,虽然它也可以通过实例来访问(实质也是通过类来访问的),所以平时若在其他程序中见到通过实例/对象来访问static成员时,可以直接将实例/对象 替换成类名: 3.程序都是先有类再有对象的,有可能出现有类但没有实例/对象的

java学习笔记(三)java中的修饰符abstract、static与final

一.四种访问级别的访问范围 访问级别 访问修饰符 同类 同包 子类 不同的包 公开 public 受保护 protected 默认 没有访问修饰符 私有的 private 二.使用abstract修饰符需要遵守的语法规则 1.抽象类中可以没有抽象方法,但是包含抽象方法的类必须定义为抽象类,即用abstract修饰: 2.抽象类跟抽象方法不能被final修饰符修饰: 3.抽象类中可以有非抽象方法,因为继承抽象类的子类必须重写父类中所有的抽象方法,因此抽象类中不能有抽象构造方法和抽象静态方法: 4.

java笔记——Java关键字static、final使用小结

static  1. static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的区别是: 对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的).对于实例变量,没创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响(灵活). 2

Java学习日记-5 关键字static和final 以及接口

乱入:表达式中的自动类型转换 char,short,byte都升级为int类型进行运算,结果为int,但其原变量类型并不改变. 所以,byte b = 10;  b = b*b; 编译时会报错.但是写成 b *=b; 就没问题了. ——————————————华丽的分割线———————————————————————— //static与final一.static 1.位于变量前 变量为静态变量,可通过类名调用 2.位于方法前 方法为静态方法,可通过类名调用 存储在静态区,可以被所有对象直接访问

java中static,super,final关键字辨析

1:static关键字 利:1)对对象的共享数据提供单独的空间存储. 2)修饰的方法可以直接被类名调用 弊:1)生命周期长. 2)访问出现限制(只能访问静态) 它可以有静态方法,静态类,静态变量 2:super关键字 1)使用super关键字调用父类的成员变量和成员方法. 格式1:super.成员变量 格式2:super.成员方法([参数1,参数2...]) 2)使用super关键字调用父类的构造方法 格式1:super([参数1,参数2...]) 总结:this代表当前对象(可以输出或地址).

Java中static 和final的区别

final定义的变量可以看做一个常量,不能被改变: final定义的方法不能被覆盖: final定义的类不能被继承. final static 就是再加上static的特性就可以了 static 和final是没有直接关系的 static 是在内存中分配一块区域,供整个类通用,所有的类的对象都享有它的共同的值 static 和final的区别 一.static : 什么情况下我们要使用static呢? 1.只想用一个存储区域来保存一个特定的数据——无论要创建多少个对象,甚至根本不创 建对象. 2

JAVA基础-栈与堆,static、final修饰符、内部类和Java内存分配

Java栈与堆 堆:顺序随意 栈:后进先出(Last-in/First-Out). Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过new.newarray.anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放.堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据.但缺点是,由于要在运行时动态分配内存,存取速度较慢. 栈的优势是

Java中static、final用法

一.final 1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变.其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中.这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值. 当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的

Java中static、final用法小结(转)

一.final 1.final变量: 当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变.其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中.这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值. 当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的