目录
*类与对象
*类的定义
【修饰符】 class 类名{
属性;方法;构造器;
}
修饰符可为:public、final、static。且static修饰的成员不能访问没有static修饰的成员。static修饰的变量和方法称作静态变量和静态方法,可以通过类名.变量名(方法名)访问,也可可以直接调用。也是可以定义抽象类的。
*定义属性
【修饰符】 属性类型 属性名 [=默认值]
修饰符可为:只能其中一个的:public、protected、private;可跟前面的共存:static、final;空。
属性类型:基本类型或引用类型
属性名:需要符合Java规范,且基于可读性
*定义方法
【修饰符】返回值类型 方法名 [=形参列表]
修饰符:只能有其中一个的:public、protected、private;另一组只能出现其中一个的:final、abstract;以上都可以跟static共存。
返回值类型:引用类型或者基本类型。如果没有返回值的话,需是void。
方法名:建议以英文动词开头
形参列表:用,隔开
*定义构造器
构造器是创对象是被自动调用的特殊方法,主要是实现初始化操作,Java会提供一个默认的构造器,用户也可以重定义。构造器和类的构造方法特别类似。
[修饰符] 构造器名 (形参列表)
修饰符可以省略,也可以是public、protected、private的其中一个。构造器名和类名必须一致,形参列表也和方法的格式相同。
注意,构造器没有返回值类型,构造方法会被主动调用。
*修饰符
使用范围:public > protected >default> private(本类、子类、其他类、同一个不同的包的类)>(同一个包的其他类、不同包的子类)>(同一个包下的其他类、子类) > (本类)
若未指定修饰符则使用默认修饰符,使用范围:本类和同一个包的类中访问
*方法中参数传递
Java中参数传递方式只有一种,即只有值传递,参数传递仅将参数的副本传递给形参,参数本身的值不会被改变。
形参个数可变的方法,只许在最后一个形参类型后面加...即可。
*this指针
当局部变量和全局变量的名字和数据类型都一样的时候,此时全局变量将在含有局部变量的方法中被隐藏,此时若还想使用全局变量,可以用this指针。如下:
需要注意一下:在main方法中,不能直接调用getName方法,因为此时getName方法不是static类型的,但是在static类型的方法中又不能使用 this指针访问全局变量,所以只能构造实例对象,在通过实例对象调用没有static的getName方法。
*抽象类
抽象方法所在的类必须是抽象类,抽象类中至少有一个抽象方法,普通的类中可以没有抽象方法。抽象类不能实例化,所以可以定义一个非抽象类去继承(extends)抽象类,然后重写继承的抽象类中的方法。
实例指的是:类名 对象名 = new 类名(形参列表);而类名 引用类名 ;并不是实例化。