Java-面向对象-000-基本知识-2020-3-4
目录
以 时钟为例,理解类和对象
一、类的定义形式
类定义的一般形式 [public |abstract |final ] class 类名 [extends 父类名 |implements
接口名]{
[ ]中的修饰符为可选项,将在后续课程逐步涉及
1、描述对象状态数据的实例变量的定义
2、对象的初始化方法
3、描述对象行为或功能的实例方法的定义 }
//Monk类的定义
public class Monk{
}
二、成员变量
成员变量的定义
public class <类名称> {
//1、成员变量的定义
[public | protected | private |default] <数据类型> <变量名>;
//Monk类实例数据的定义
public class Monk{
String faHao;
String gongFu;
int age;
}
成员方法的使用
class Accout{
private String id;
private String name ;
private int balance;
public Account(String _id, String _name, int _balance){
id=_id;
name=_name;
balance=_balance;
}
public void deposit(int amount){
balance=balance+amount;
}
}
class Test{
public static void main(String[] args){
Account account=
new Account(“624456098”,“李丽”,6000);
account.deposit(5000);
}
}
三、对象
对象创建
类名 对象名 = new 类名(); 类名 对象名=null;对象名=new 类名();
//悟空对象的创建
class Test{
public static void main(String args[]){
Monk monk1=new Monk();
}
}
对象的访问
对象名.实例变量名
class Test{
public static void main(String args[]){
Monk wuKong=new Monk();
monk1.faHao=“悟空”;
monk1.gongFu=“七十二变”;
monk1.age=500;
System.out.println(“monk1:”)
System.out.println(monk1.faHao+“\t”+monk1.gongFu+ “\t”+monk1.age);
}
}
四、堆内存中的垃圾主动回收
System.gc()
五、构造器
1.用于对对象进行初始化(在创建对象时使用)
构造器方法的一般形式
public 类名([方法参数1,方法参数2,…]){
//初始化语句
}
public Monk(String _faHao, String _gongFu, int _age){
//String为参数类型,_faHao为参数名,表示在调用该方法的时候,将传递一个字符串过来,
//使用_faHao保存;Monk构造器方法带有3个形参。
faHao =_ faHao;
gongFu = _ gongFu;
age=_age;
}
2.使用构造器方法重新创建悟空对象
class Test{
public static void main(String args[]){
Monk wuKong=new Monk(“悟空”,“七十二变”,500);
System.out.println(monk1.faHao+“\t”+monk1.gongFu+ “\t”+monk1.age);
}
}
3.构造器的重载
同一个类中可以定义多个构造器,但多个构造器方法的参数列表必须不同
六、void
void表示该方法执行完后没有返回值,只是完成某项功能
七、static
//static方法的定义
public static int getNumber(){
return number;
}
static方法的特点
1、类方法属于一个类而不是属于实例对象。
2、类方法与类对象无关,在创建对象之前就可以使用“类名.类方法”来调用类方法。
3、类方法中没有this引用,所以在类方法中不能使用this引用,也就不能直接使用对象属性和调用对象方法。
4、类方法中可以访问类属性和其它类方法。
5、类方法使用“类名.类方法”方式在类外来调用,所以应该定义为public访问方式。
//static变量的定义;
如:private static int number;
静态方法的定义
public static int getNumber(){
return number;
}
静态方法的使用
对象.方法()
类名.方法()
八、类属性
类属性有下面两种用途:
1、这个类的所有对象所共享的变量,通常声明为public访问方式。
2、用final声明为常量,并且声明为public访问方式,可以通过“类名.类属性”方式在程序的任意位置使用它。
静态属性或类属性的特点
1、类属性不在对象中,也不是对象状态的一部分,或者说它和对象无关。
2、类属性是与类有关的,整个类只有一份,第一次使用类时(如通过“类名.类属性”方式访问类属性或第一次把类实例化对象时等)在类的公共区给类属性分配存储空间。
3、使用类属性无需创建类的对象,虽然可以通过“对象名.类属性”方式访问类属性,但建议通过“类名.类属性”方式访问类属性。
九、this对象
定义
this对象是Java中不需要创建就可以直接使用的对象;
this对象是对当前对象的引用
使用
//通过“this.字段”引用当前对象的字段;
//解决局部变量与成员变量同名的问题
//如:
this.price=price
//通过“this.方法”调用对象的方法;
//如:
this.refund();
//在构造器中使用this调用其它的构造器
public TicketMachine(){
this(10);
}
十、实例方法
定义
实例方法,也称为成员方法,定义在类中用来表示对象的行为或完成特定功能的代码块
重载
与构造器一样,一个类中也可以定义多个同名的成员方法
指在同一类中定义方法名相同,参数列表不同的方法,不需要考虑方法的返回值类型。
//如:需要一次购买多张票,可以在类中再添加一个插入钱购票的方法
public void insertMoney(int money,int tickets)
{ }