java实体字节属性定义_java理论知识点自我总结 static部分

实例化对象的语法

new构造方法(实参列表):

1.new关键字 计算对象内存大小;在堆中申请空间;把空间初始化为0x0

2.执行构造方法 对属性进行初始化

3.把对象的引用赋值给一个引用变量,如果需要:

对象的生命周期

1 2 3 4

1.代表对象刚申请好空间,内部被初始化为0x0

2.代表对象正在执行构造方法对属性初始化部分

3.代表对象的可使用生命周期阶段

4.代表对象已经被标记为垃圾,但可能还有被立即回收的时期

访问对象的属性或者调用对象的方法

1.如果在类的内部(在类的方法中访问类的属性和调用类的方法)

this.属性 访问属性 如果没有出现命名遮挡,直接使用属性

this.name name 其他名字和属性名字一样

大名 小名

调用方法

this.方法名称(实参列表)

this.toString ();

方法名称(实参列表);

toString();

2.r如果在类的外部(在其他类的方法中访问该类的属性和调用该类的方法)

访问属性

对象的引用.属性名 Person p=new Person(); p.name ;

new Person.name

调用方法

对象的引用.方法名称(实参列表)

Person p =new Person(); p.toString();

new Person.toString();

文件名:Course.java

class Person{}

public class Course{}

javac编译

生成Person.java Course,java

1.一个源文件中只能有一个public 的类,该类的名称必须和文件名一样

2.一个类会生成对应一个class字节码文件

this关键字的使用

1.可以在构造方法中调用其他的构造方法,必须出现在第一行

2.代表该方法被调用时的当前对象的引用

Person p=new Person(); p.toString();

public String toString(){

this; //现在this 就是p所指向的对象的引用

}

定义包:

1.新建目录 目录名就是包名称(全小写,单词之间用下划线分隔)

package hello_world;

定义目录 p1/p2 ;

定义一个类Helloworld

2.使用包

import 包名称.类名称

import p1/p2.HelloWorld;

四种访问限定符:

1.限定符

2.影响的是访问权限

两种情况

1.修饰顶级(Top-level)

2.修饰成员级(Member-level)

说法 定义语法 说明

public public 所有类都有访问权限

package-private 空白 只有一个包的类有访问权限

前两个代表可用于顶级的访问权限

protected protected 留着继承讲

private private 只有本类有访问权限

STATIC(静态)静态方法|静态属性

1.方法

普通方法(方法)|静态方法(类方法)

2.属性

普通属性(属性)|静态属性(类属性)

语法

限定符sataic

被static 修饰的属性/方法 就是静态属性/方法

理解:

普通方法/普通属性 都绑定着一个人隐含的对象(this)

static的含义是和对象解绑

静态属性不在保存在对象(堆区)中,而是保存在类(方法区)中

静态方法调用时,没有隐含着的对象,所以也就无法使用this关键字

class Person{

String name="小比特";

String toString(){

return this,name;

}

static Person createPerson(){

return newPerson();

}

}

Person.createPerson();

访问静态属性/调用静态方法语法

内部:

属性名称;

类名称.属性名称;

this.属性名称;//保证当前不是静态属性

方法名称(实参列表);

类名称.方法名称(实参列表);

this.方法名称(实参列表);//保证当前方法不是静态方法

外部;

类名称.属性名称

对象的引用.属性名称

类名称.方法名称(实参列表);

对象的引用.方法名称(实参列表)

强调:

静态方法没有this.,,没有隐含着的对象的绑定

1.不能访问普通属性(相当于隐式使用this)

2.不能调用普通函数

表现出来的特性:

1.一个类的所有的对象,是可以共享静态属性的;

属性的初始化:(发生在对象实例化的时候)先执行 定义时初始化int a=10; 和构造代码块{a=10;}(按顺序),再执行构造方法Person () {a=10;}

静态属性的初始化“(类被加载的时候)发生在实例化前

1.定义时初始化

static int a=10;

2.静态构造代码块

static {

a=20;

}

类的信息一开始是以字节码(bytecode)*.class的形式保存在磁盘上

类的加载过程就是 类加载器(classloader)在对象的目录上找到指定类的字节码文件,并且进行解析,然后放到内存的方法区的过程。

类只有被使用的时候才会被加载(一般不会卸载)

1.用类去实例化对象

2.使用静态方法

setter设置和修改

getter取得

to string:没有定义,打印的是地址

system.out.println();

out所属类的方法/out 属性

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值