在我接触java的过程中,有一半多的时间是在与类和对象打交道,类和对象就像是java的精髓。
学习java就感觉是在画小人,而类和对象就像是小人的四肢,有了四肢的小人当然可以完成更多的动作。
一. 概念
什么是类: 泛指某一类事物,比如动物,又或者人这种具有相同属性和行为的都是一个类,是一个整体。
什么是对象:对象便是某一类事物中的某一个具体的个体,比如动物这个类里,狗便是一个对象(相对于动物这个类来说,如果把狗这当作类来看,你家养的旺财就是一个对象),是某一类事物中的某一个个体,所以便有了万事万物皆对象这么一个说法。
二. Java中的类
1) 如何定义java中的类
还是举个栗子~在Java中创建狗子这个类
public class Dog{
//定义狗的姓名这个属性
private String dogName;
//定义狗的年龄这个属性
private int dogAge;
//定义狗的吃这个行为
public void eat(){
System.out.println("eat");
}
//定义狗的跑这个行为
public void run(){
System.out.println("run");
}
}
由上面的代码来看,定义一个类 必须要使用关键字Class 来声明这是一个类,之后在类中进行属性和行为的定义。
2) Java中的类到底有什么
①构造器(构造方法)
每个类都有自己的构造器,如果不主动声明,那么一般都用的是默认的空参构造器。
作用:初始化类(对类中的属性进行赋值,改变原本的默认值)
隐式构造方法:无需主动声明,默认为空参的构造函数
显示构造方法:需要显式的定义构造方法 格式为: 访问限定符 + 类名(参数列表){方法体}
一个类中可以有多个构造方法,不同的构造方法其参数列表不同,并且构造方法没有返回值。
②成员变量:定义在类中,方法体外,生命周期等同于类的生命周期。
③局部变量:只定义在方法体中,生命周期等同于该方法的生命周期。
④静态变量:被static修饰,能通过类名.静态变量的方式调用。
⑤成员方法:定义在类下的方法。当类结束时自动收回。
⑥静态方法:被static修饰,能通过类名.方法名()的方式调用。
3) 如何使用Java类
使用类,即访问类中的属性与方法,根据属性和方法是否静态共有两种访问方式。
① 访问非静态的属性和方法,可以通过实例化一个类的对象 ,将该实例赋值给该类的引用,通过这个引用可以访问到类的非私有的属性和方法。
格式:
类 对象名 = new 类(里边实际参数取决于你想使用的构造函数);
访问属性:对象名.属性名;
访问方法:对象名.方法名;
② 访问非私有的静态的属性和方法可以直接通过类名.属性/方法名()的方式来调用。
格式:
访问静态属性 类名.非私有属性名;
访问静态方法 类名.非私有方法名;
举个栗子, 有类如下:
class Person{
//定义人的姓名
public String name;
//定义一个参数的构造方法用来初始化类
public Person(String name){
this.name = name;
}
//定义一个非静态方法,
public void eatBook(){
Syste.out.println(name+" 要吃书!");
}
//定义一个静态方法
public static void writeCode(){
System.out.println("写代码啊");
}
}
public Class Test(){
public static void main(String args[]){
/*
*尝试访问非静态的属性
*生成类的对象,并将该对象赋值给类的引用
*这里传了一个字符串参数,值为"小凳子",创建对象时会自动调用类中的一个参数(参数类型为字符串)的构造方法
*/
Person person = new Person("小凳子");
//通过对象名访问类的属性和方法
System.ou.println("这人的名字叫:"+person.name);
person.eatBook();
//尝试访问类中的静态方法
Person.writeCode();
}
}