对象-Java
-
C++三种创建对象的方式
1.在栈中创建局部对象
2.在静态区中创建全局对象
3.在堆中 创建对象(堆对象) -
Java只有上述方式的第三种,即创建堆对象
Java的MyDate类
class MyDate
{
private int year,month,day;//数据成员,实例变量
public void Show()//函数成员,方法
{
System.out.printf
("%d-%d-%d",year,month,day)
}
}
public class Main
{
public static void main(String args[])
{
MyDate = null;//null 空指针
d = new MyDate(); //申请空间,创建对象
d.Show(); //d是指针变量,
}
}
\\空指针+申请空间可合并写成
MyDate d = new MyDate();
无构造方法采用默认构造方法
- 在Java中定义变量的重要规则
- Java语言严格区分基本类型和构造类型
- Java的基本类型只有8种:byte,short,int,long,float,double,char,boolean
- 定义基本类型的变量是变量自身
- 基本类型以外的类型都是构造类型
- 数组、类是构造类型
- 定义构造类型的变量是指针变量,且初值为null
class MyDate
{
private int year,month,day;//数据成员,实例变量
public MyDate(int y,int m,int d)
{
year = y;
month = m;
day = d;
} //添加构造方法
public void Show()//函数成员,方法
{
System.out.printf
("%d-%d-%d",year,month,day)
}
}
public class MyClass
{
public static void main(String args[]) //静态方法
{
MyDate d;
d = new MyDate(1949,10,1); //申请空间,创建对象
d.Show(); //d是指针变量,
}
}
//Java语言既没有“析构方法”也没有delete命令
对象由系统自动回收
小结
单个源文件的Java程序由若干个类构成,其中仅有一个类加以public修饰(此前我们成为Java程序的框架)。并且:
1.该类的名字必须与文件名相同
2.该类中有且只有一个规定格式的main方法
构造函数又称构造方法,Java语言没有析构方法
用Java的类定义变量,实际得到的是指针变量,默认值为null
MyDate d;// = MyDate d=null;