java-03-类
1.类的定义格式
类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);
对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
public class 类名称{
//成员变量--对应事物的属性
//成员方法--对应事物的行为
}
例如定义一个学生的类
public class Student{
//成员变量
String name;
int age;
//成员方法
public static void eat();
{System.out.println("吃饭!"); }
public static void sleep();
}
还要新建一个含有main的class,在main方法中输出,类定义完成之后,肯定无法直接使用。如果要使用,必须依靠对象,那么由于类属于引用数据类型,所以对象的产生格式(两种格式)如下:
类名称 对象名称 = new 类名称();
Student student = new Student//声明并实例对象
类名称 对象名称 = null;
当一个对象实例化后,
对象.属性:表示调用类之中的属性;
对象.方法():表示调用类之中的方法。
student.name="张三";
student.age = 17;
student.eat();
堆内存是存放对象的属性内容,堆内需要new关键字
栈内存是保存堆内存的地址
对象引用传递初步分析
引用传递的精髓:同一块堆内存空间,可以同时被多个栈内存所指向,不同的栈可以修改同一块堆内存的内容
2.Private关键字
阻止不合理的数据被设置进来,提高了代码的安全性。
一旦使用了private进行修饰,那么本类当中仍然可以随意访问
但是!超出了本类范围之外就不能再直接访问量。
间接设置/访问成员变量,就是定义一对getter/setter方法
对于getter来说,不能有参数,返回值类型和成员变量对应
对于setter来说,不能有返回值,参数类型和成员变量对应
3.构造方法
构造方法是类的一种特殊的方法,用于创建对象时初始化对象中心的属性值
语法:类名[参数列表]{
//初始化语句
}
(1)方法名和类名相同
(2)方法名的前面没有返回类型的声明
(3)方法中不能使用return语句返回一个值
类的构造器方法又分为两种:
默认构造方法:不带参数的构造方法,可以有语句,也可以没有语句;
非默认构造方法:是指带参数的构造方法
this关键字
1.代指对象本身;
2.this访问本类的对象变量和成员方法 代表当前对象;
3.在构造方法中使用this 代表创建的对象;
语法格式:this.成员变量;
static关键字
1.static修饰的成员变量和方法,从属于类
2.普通变量和方法从属于对象
3.静态方法不能调用非静态成员,编译会报错
被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。由于静态方法不依赖于任何对象就可以直接访问,因此对于静态方法来说,是没有this的,因为不依附于任何对象,既然都没有对象,就谈不上this了,并且由于此特性,在静态方法中不能访问类的非静态成员变量和非静态方法,因为非静态成员变量和非静态方法都必须依赖于具体的对象才能被调用。
浙公网安备 33010602011771号