Java对象
具体存在的实例就是一个对象,每个对象都有自己的属性和方法。
Java类
从对象中抽象出来的共有的属性和方法组成一个类。
注意:类是对象的一个抽象。对象是类的一个具体实例。
访问修饰符
类型 | private | 无修饰符 | protect | public |
---|---|---|---|---|
同一类 | 是 | 是 | 是 | 是 |
同一包中的子类 | 否 | 是 | 是 | 是 |
不同包中的子类 | 否 | 否 | 是 | 是 |
不同包中的非子类 | 否 | 否 | 否 | 是 |
函数
函数也是方法,将一段代码包裹起来,这样的代码被称为方法
1.访问修饰符 返回数据类型 方法名(参数数据类型 参数名,参数数据类型 参数名2。。。。。){
方法体
}
如果带有参数,就要有返回值
2.访问修饰符 返回值类型 方法名(参数){
return 值;
}
方法的调用
A(){
方法名(数据);
}
1.如何使用java编写一个类 语法
访问修饰符 class 类名{
//属性
访问修饰符 属性类型 属性名;
eg:public int size;
// 方法
}
如何使用java类创建一个对象 语法
类名 对象名 = new 类名();
如何调用对象中的属性 语法
对象名.属性名
、如何调对象中的方法 语法
对象名.方法名();
如何给对象中的属性赋值 语法
对象名.属性名=值;
例子:
创建一个学员类:
调用学员方法:
成员变量和局部变量
1、成员变量(全局变量):写在类下面,在类中任何地方都可以访问成员变量。
成员变量在未进行初始化值得时候存在默认值
Shiot int long byte 默认值0
Double float默认值0.0
Boolean 默认值是false
Char 默认 值‘\u0000’
引用数据类型的默认值null
2、局部变量:写在方法中变量,只能在该方法中被使用的变量叫做局部变量。
变量其作用的范围
成员变量和局部变量区别:
1、成员变量的作用域是整个类,而局部变量的作用域是定义它的方法
2、成员变量是定义在类下面,而局部变量是定义在方法中
3、如果局部变量与成员变量重名,那么在该方法中,使用的是局部变量(就近原则)
4、成员变量在使用中可以不赋初始值,因为有默认值。而局部变量定义后,必须赋赋初值,否则不能使用。
java对象在内存中的分布
1.栈内存:Student stu ;
2.堆内存:new Student() ;
注意:
成员变量和方法会放在堆内存
声明对象的时候,对象放在栈内存
局部变量会放在栈内存
匿名对象的使用
匿名对象:创建对象时候,不声明对象的名称。即:直接new Student ;
1.自身会保存自身的内存地址的引用
2.只要有new关键字就会在堆内存中创建一个新的对象
传递
基本数据类型叫值传递
引用数据类型的传递叫引用传递或者叫地址传递
基本数据类型传递的是具体的值
引用数据类型传递的是引用地址
成员函数和构造函数之间的区别?
相同点:提高了代码重复利用率
不同点:
1、构造函数没有返回数据类型,也不能使用void进行代替,成员函数有返回数据类型,如果不需要返回数据类型的时候使用void进行代替
2、构造函数函数名一定要和当前的类名保持一致,而成员函数可以随便定义,但是要遵守标识符的命名规范
3、构造函数中间去了访问修饰符之后不能添加其他的修饰符,成员函数是可以的。
4、构造函数放在new关键字用来创建对象,成员函数可以通过对象名进行调用也可以通过方法内部进行调用
this关键字
- 成员变量名和局部变量相同的时候要做到区分
- This表示的是当前对象的引用地址 主要就是用来区分成员变量和局部变量名相同的时候
This.成员变量
This.成员方法
This在本类当中进行使用来表示本类的内容,
This语句
This([数据]); 用来调用构造函数