Java11-24笔记
类与对象
类是对一类事物的描述,是抽象的、概念上的定义。
对象是实际存在的该类事物的每个个体,因此也成为实例。
万事万物皆对象。
面向对象程序设计的重点:类的设计
类的设计,其实就是类的成员的设计。
设计类,就是设计类的成员。
属性=成员变量=field=域、字段。
方法=成员方法=函数=method
//创建类的对象=类的实例化
public class PersonTest{
main{
//创建类的对象
Person per=new Person();
//调用对象的结构:属性、方法
//调用属性:“对象.属性”
per.name=" 黄梅"
sosut(per.name)
//调用方法:”对象。方法“
per.eat();
per.talk(chinese);//传值到talk方法中String language参数当中。
}
}
Class Person{
//属性
String name;
int age=1;
boolean isMale;
//方法。
public void eat(){
System.out.println("人可以吃饭");
}
public void sleep(){
System.out.println("人可以睡觉");
}
public void talk(String language){
System.out.println("人可以说话"+language);
}
}
注意:
每new一次,就会在堆空间中新建一个位置。
如果创建了一个类的多个对象。每个对象都独立的拥有一套类的属性。(非static)
意味着,如果我们修改了一个对象的属性a,则不影响另外一个对象属性a的值。、
//将P1变量保护的对象地址赋值给P3,导致P1和P3指向了堆空间的同一个对象实体。
Person p3=p1;
//这一步和数组类似。array 2=array 1;
P3.age=10;
sout(p1.age);
reslut: p1.age= 10;
内存解析
P184面向对象。P184
属性:成员变量 VS局部变量
成员变量
-
相同点:
- 定义变量的格式: 数据类型 变量名= 变量值
- 先声明,后使用
- 变量都有其对应的作用域。吗
-
不同点:
-
将声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量。
-
关于权限修饰符的不同
-
属性:可以在声明属性时,指明其权限、使用权限修饰符。
-
常用的权限修饰符。 private \public\确省(没有任何修饰。类似 String name;)、protected 。。作用:被调用的权限大小。 目前声明属性使用缺省就Ok.
-
局部变量:不可以使用权限修饰符。
-
默认初始化值的情况:
属性:类的属性,根据其类型,都有默认初始化值。
整型(byte 、short、int、long)=0;
浮点型(double、float):0.0
字符型(char):0 、""\u000"
布尔型(boolea) :flase;
引用数据类型(类、数组、接口):null
局部变量:没有默认初始化值、意味着我们在调用局部变量之前,一定要显示赋值、
特别地:形参在调用时候,我们赋值即可。
-
在内存中加载的位置:
属性 :加载到堆空间中(非static)
局部变量:加载到栈空间中。
类中方法的声明和使用
方法:描述类应该具有的功能
Math类: sqrt() random();
SCANNER 类 :nextxx();
arrays类 :sort(); \binarySearch()查找\tostring()(输出)\equals()\
void 没有返回值、
方法声明: 权限修饰符, 返回值类型 方法名(形参){
方法体
}
static \ final\abstract 来修饰的方法,后面的方法
-
说明:
关于权限修饰符: 默认方法的权限修饰符先都使用public 。
private \public \缺省、protected 被调用时候的权限大小。–》封装性
2.返回值类型。:有返回值、VS 没有返回值类型的。
如果方法有返回值,则必须在方法声明时,指定返回值的类型。同时,方法中需要使用return关键字来返回指定类型的变量或常量。