3、类和对象的定义格式
在Java中可以使用以下语句定义一个类:
class 类名称
{
属性名称;
返回值类型 方法名称()
{
}
}
对象的定义:
一个类想要真正的进行操作,则必须依靠对象,对象的定义格式如下:
类名称 对象名称 = new 类名称();
按照以上格式就可以产生对象了。
如果想要访问类中的属性或方法(方法的定义),则可以依靠以下语法形式:
//访问类中的属性
对象.属性;
//调用类中的方法
对象.方法();
//上面的.可以理解为中文的“的”
我们来举个例子:
public class a
{
public static void main(String[] args)
{
}
}
//自定义一个类(类型)
class Horse
{
//在类中定义属性
String name;
int age;
public void run()
{
System.out.println("我是"+name+",我"+age+"岁了,我能日行千里!");
}
}
此时我们定义了一个类叫Horse,但在主函数中没有调用,所以没有输出。
public class a
{
public static void main(String[] args)
{
Horse h = null;//此时把Horse拉进主函数中,但内存还没有创建。
h = new Horse();//这时候h就在主函数里有了Horse对象,别忘加括号
//有了对象,我们就可以调用对象的属性和方法
h.name = "赤兔马";
h.age = 5;
//调用方法,那么方法就会被执行
h.run();
h.eat();
//匿名对象:只能使用一次,用完后该对象被释放
new Horse().eat();
h = null;
//h.eat();//当次h==null时,h现在不存在了使用该对象的属性或方法将报错(空指针)
}
}
//自定义一个类(类型)
class Horse
{
//在类中定义属性
String name;//注意,String也是一个引用类型变量,不是基本数据类型变量
int age;
public void run()
{
System.out.println("我是"+name+",我"+age+"岁了,我能日行千里!");
}
public void eat()
{
System.out.println("我吃仙草,还吃很多!");
}
}
/*结果:
我是赤兔马,我5岁了,我能日行千里!
我吃仙草,还吃很多!
我吃仙草,还吃很多!
*/
上面把Horse这个类调入main函数,就可以运行了。
4、对象内存分析
1、new关键字表示创建一个对象
2、new关键字表示实例化对象
3、new关键字表示申请内存空间
注意:如果使用一个没有申请内存空间的对象,会报指针异常:java.lang.NullPointerException