一,所谓的类就是指共性的概念,而对象指的是一个具体的、可以使用的事物。
首先产生类(类是生产对象的蓝图),而后才可以产生对象。对象的所有行为,一定在类中进行了完整的定义。
类中的组成:
1.方法(操作的行为)
2.属性(变量,描述每个对象的具体特点)
那么如何取写一个类呢?语法如下
class 类名称
{
属性1;
属性2;
属性n…;
方法1(){}
方法2(){}
方法n(){}…
}
(类中属性一般出于安全性考虑,要求使用private进行封装,具体使用原则及注意事项,会在下一篇博文中详细说明)
下面举一个具体实例
class Person{
public String name;
public int age;
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
}
有了类之后就可以去定义对象了,那上述的Person类举例,产生一个实例
Person p1 = new Person();
如此就产生了一个Person类的对象p1,总结创建对象的语法如下
类名称 对象名称 = new 类名称();
类中的实例变量和方法可通过对象来调用,继续用上述Person举例
Person p = new Person("Steven",25);
System.out.println(p.name);
二,对象的内存分析
在Java中内存空间分为栈内存和堆内存。
栈内存: 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。(不包括String类)
堆内存:堆内存用来存放所有new 创建的对象和 数组的数据。
示例代码
class Person{
String name;
int age;
}
public class Test{
public static void main(String[] args) {
Person per = new Person();
per.name = "李四" ;
per.age = 18 ;
}
如下图:
per.name = “李四”;
per.age = 18 ;
通过per引用设置堆中属性值
三,构造方法
定义:法就是使用关键字new实例化新对象时来进行调用的操作方法。
在定义构造方法时必须遵循以下原则:
1.方法名称必须与类名称相同
2.构造方法没有返回值类型声明
3.每一个类中一定至少存在一个构造方法(没有明确定义,则系统自动生成一个无参构造)
Java编译器根据第二点来区分普通方法于构造方法