Java------对象和类
1.1什么是对象:
对象就是在现实社会中存在的事物都可以称为对象,如:人,飞机,老虎,狮子等都是对象。
对象的描述主要包括三个方面:
1)对象的状态:对象的状态在某一时刻,对象某个属性或多个属性值得集合。
2)对象的行为:所以对象之间的相互联系
3)对象的标识:对Java程序而言,一个对象的创建,用于与其他的对象的区别
1.2什么是类:
类就是描述一组对象共同的静态特征(如:人的姓名,年龄)和动态行为(如:人都可以跑,跳)。对象是类的实例。
1.3Java类的定义:
在Java语言中,用成员变量表示保存对象的静态特征,用方法描述对象的动态行为。同时,至少要为类提供一个构造方法。所以,从结构上看Java类包含类声明和类体
1)声明类:给类起个名字,从类的名字反应对象的本质,类名首字母一般大写,后面的单词首字母也大写,如:Person(人),Car(车),ClassName(班级名)
1)类体:类体包含三个部分:成员变量,成员方法和构造方法
#1成员变量:
类体中定义所以变量的称为成员变量,
#2成员方法:
类中定义所以的方法(构造方法除外)统称成员方法。成员方法用来描述对象的行为,方法名体现对象用来做什么
#3构造方法:
构造方法的作用是对对象的初始化,也就是对对象的成员变量的初始化。作为类的使用者,要调佣构造方法来构造对象。
1.4构造对象特点:
1)构造方法名必须与类名相同
2)构造方法没有返回值也没有void
3)构造方法必须与new运算符一起使用,构造方法初始化是:new Student();一个类可以有多个构造方法,一个构造方法有0个1个和多个参数,没有参数的构造方法是默认的构造方法。如果没有任何构造方法就是默认的构造方法
package lianxi;
public class text_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu=new Student(001,20,"张三");
stu.show();
}
}
class Student//类声明
{
int age;//年龄
int id;//id号
String name;//姓名
public Student() {}//默认构造方法
public Student(int id,int age,String naem)
{
this.id=id;
this.age=age;
this.name=name;
}
public void show()
{
System.out.println("ID号:"+id);
System.out.println("年龄:"+age);
System.out.println("姓名:"+name);
}
}
//ID号:1
//年龄:20
//姓名:张三
2.static关键字:
在成员变量和成员方法中可以进一步细分:成员方法可以分为类方法和实例方法,成员变量可以分为类变量和实例变量
2.1类方法与实例方法:定义成员方法时,若方法名前有关键字static修饰,则称为类方法(静态方法),没有就是实例方法
区别:1、类方法表示不同的实例化就可以调用方法
2、实例方法就是从字体上可以理解为必须是实例才可能调用
2.2类变量和实例变量:若变量前有static关键字就是类变量,没有就是实例变量
区别:1.有没有static的修饰
2存放位置,类变量在方法区中,实例变量在堆中存放
3生命周期,类变量的生命周期长,随着类的消失而消失,实例变量随着对象的消失而消失。
2.3成员变量和局部变量:
成员变量可以先使用后定义,局部变量是先定义后使用。
package lianxi;
public class text_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu=new Student();
System.out.println(stu.grade);
System.out.println(stu.chengji());
}
}
class Student//类声明
{
int age;//年龄
int id;//id号
String name;//姓名
int grade=110;//成员变量grade
public Student() {}//构造方法
public Student(int id,int age,String name)
{
this.id=id;
this.age=age;
this.name=name;
}
public int chengji() {
int grade=20;//局部变量
return 100+grade;
}
}
//110
//120
区别:1.成员变量属于类,而局部变量是方法
2成员变量没有赋初值会自动赋初值,局部变量不会
3从存储方式上,成员变量是对象的一部分,存储在堆中,而局部变量存储在栈中。