1、定义
类(class)和对象 (object)是两种以计算机为载体的计算机语言的合称。
对象:对象是用来描述客观事物的一个实体。
类:具有相同属性和方法的一组对象的集合
2、格式
[修饰符] class 类名{ }
类名定义规则:
1、第一个单词必须是字母、下划线,后面的单词可以是字母、下划线、数字
2、所有单词的首字母必须大写
类内容
[修饰符] class 类名
{
属性;
方法;
}
3、对象的创建
类名 对象名(变量)=new 类名();
4、属性和方法的调用
属性方法点出来
print(ljt.sex);//调用属性
ljt.Smile();//调用方法
5、方法的定义
[修饰符] 返回类型 方法名([参数列表])
{
方法体;
}
6、方法的操作
方法定义:
如果方法没有返回值,则此方法必须输出结果
如果方法有返回值,则此方法可以不输出结果,但是必须有返回值
返回值用关键字:return
方法调用:
调用无返回值的方法:对象名.方法名();
调用有返回值的方法:变量=对象名.方法名();
7、局部变量和成员变量
在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的。同样,在复合语句中定义的变量只在本复合语句范围内有效。这称为局部变量(local variable)。
成员变量存储在堆内存的对象中,所以也叫对象的特有数据。. 静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。
局部变量和成员变量区别:
作用域不同
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的
初始值不同
系统会给成员变量一个初始值
系统不会给局部变量赋予初始值
8、static
静态变量和实例变量两者的区别:
1、静态变量在内存中只有一个内存空间,在加载类的过程中完成静态变量的内存分配;每创建一个新的实例对象,就会为实例变量分配不同的内存
2、静态变量可以直接通过类名来访问,实例变量需要通过各个对象访问
静态方法和实例方法两者的区别:
- 静态方法只能访问静态变量;实例方法既可以访问实例变量,也可以访问静态变量
- 静态方法在Main方法中可以直接使用;实例方法在Main方法中必须通过对象调用
9、this
this的用法:
1、当成员变量和局部变量同名时,如果想调用成员变量,用this
2、当构造方法互相调用时,用this
10、构造方法
构造方法是一种特殊的方法,它是一个与类同名的方法。 对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。 当类实例化一个对象时会自动调用构造方法。 构造方法和其他方法一样也可以重载。
定义:
方法名称和类名一致的方法,没有任何返回类型,并且也没有void。
特征:如果没用写构造方法 系统会默认提供一个无参的构造方法,方法里面是空的
如果写 会覆盖系统默认的
作用:初始化成员变量
11、方法重载
同一个类中的多个方法可以有相同的方法名称,但是有不同的参数列表,这就称为方法重载
方法的重载的规则:
- 方法名称必须相同。
- 参数列表必须不同。
- 方法的返回类型可以相同也可以不相同。
- 仅仅返回类型不同不足以称为方法的重载。
13、对象的引用
对象的引用“意思是定义一个变量,这个变量指向的是一个对象