Java语⾔类的定义和使⽤、类的实例化、类的成员
⽬录
类的定义和使⽤、类的实例化、类的成员
Java编程语⾔是典型的⾯向对象的计算机编程语⾔,处理的最⼩的完整单元为对象。⽽现实⽣活中具有共同特性的对象的抽象就称之为类。类由类声明和类体构成,类体⼜由变量和⽅法构成。
类的概念
Java中的类就是具备某些共同特征的实体的集合,它是⼀种抽象的数据类型,它是对所具有相同特征实体的抽象。在⾯向对象的程序设计语⾔中,类是对⼀类“事物”的属性与⾏为的抽象。
**类主要是⽤来对⼀个实体(对象)来进⾏描述的。**主要描述该实体(对象)具有哪些属性(外观、尺⼨等),哪些功能(有哪些作⽤),描述完成后告诉计算机。
例如:我们定义⼀个⼩狗类时:
⼩狗类:
属性:名字、年龄、性别、颜⾊、体重……
功能:bark、run、eat……
从上⾯的例⼦可以看出:类是定义对象的模板(蓝图)
Java中类的作⽤:
1, 类是⽤来组织⽅法的组织单位
2, 类实⽤来⽣成对象的⼀个图纸,构造出来对象
类的定义
在Java中定义类时需要⽤到class关键字,具体语法如下:
//创建类
class ClassName {//这⾥没有⼩括号
field;//成员属性
method;//成员⽅法
}
class为定义类的关键字,ClassName为类的名字,{}中为类的主体 定义类时这三个必不可少。
类的名字命名时遵循⼤驼峰命名法,即每个单词的⾸字母都必须⼤写。
类中包含的内容称为类的成员。
变量信息主要是对类进⾏描述的,称为类的成员属性或者类的成员变量。
⽅法主要说明类具有哪些功能,称之为类的成员⽅法。
举例:
public class Dog {
String name;//成员属性
int age;
String gender;
public void bark(){//成员⽅法
System.out.println("⼩狗可以狗吠");
}
public void run(){
System.out.println("⼩狗可以跑");
}
}
类的定义时注意:
⼀个Java⽂件中可以有许多个类(class),但是只能定义⼀个public类(public class);并且public类的类名必须和⽂件名相等,其他类的名字不能相互重复。
类的实例化
定义了⼀个类,就相当于在计算机中定义了⼀种新的类型,与int,double类似,只不过基本数据类型是Java语⾔⾃带的内置类型,⽽类是⽤户⾃定义的⼀个新的类型,⽐如上⾯的Dog类。有了这些⾃定义的类之后,就可以使⽤这些类来定义实例(获知成为对象)。
⽤类类型创建对象的过程,称为类的实例化。在Java中⽤new关键字,配合类名来实例化对象。
类的实例化语法
类名称实例化对象名称 = new 类名称();
例如:
Dog dog = new Dog();
1, 类只是⼀个模型,限定了类有哪些成员。
2, ⼀个类可以实例化出很多个对象,实例化出的对象占⽤实际的物理空间,存储类成员变量。
public class Dog {
String name;//成员属性
int age;
String gender;
public void bark(){//成员⽅法
System.out.println("⼩狗可以狗吠");
}
public void run(){
System.out.println("⼩狗可以跑");
}
}
public class Test30 {
public static void main(String[] args){
Dog dog =new Dog();//通过new实例化对象
dog.name ="⼩花";//初始化dog对象的name成员属性
System.out.println("⼩狗的名字是:"+dog.name);
dog.bark();//成员⽅法调⽤需要通过对象的引⽤调⽤
}
}
输出结果为:
⼩狗的名字是:⼩花
⼩狗可以狗吠
实例化对象⽅法
实例化对象的⽅法⼀共有三种。
第⼀类有两种:
1,定义类时,对成员属性初始化。(定义时初始化)
2,通过构造代码块初始化。(construct block)
第⼆类有⼀种:
3,通过构造⽅法初始化。
代码说明:
public class Teacher {
//定义时初始化
public String name ="张";
public int age =21;
//通过构造代码块初始化
{
name ="李";
age =22;
}
//通过构造⽅法初始化
public Teacher(){
name ="王";
age =23;
}
}
其中值得注意的是它们三个的执⾏顺序:
定义时初始化和构造代码块初始化是 按出现的顺序 依次执⾏;⽆论构造⽅法写在哪⾥,构造⽅法初始化都是最后执⾏。
实例化对象步骤
①:new操作,在内存中根据类的信息计算出⼀个对象需要多少内存,并且申请内存,将申请下来的类存数据全部初始化为0x0(这也解释了为什么属性的默认值都是0的变形)。
②:执⾏类中关于对象的属性的初始化操作——包括但不限于构造⽅法。这⼀步执⾏完后对象时⼀个完整的情况了。
③:让实例对象的引⽤指向刚才实例化出的对象。这⼀步完成后程序员就可以正常使⽤这个对象了。
当产⽣对象后,若要访问对象的属性、⽅法使⽤ “对象.属性” 访问。
类的成员
类的成员可以包含以下:属性、⽅法、代码块、内部类和接⼝等
重点介绍前两个。
属性
在类中,但是在⽅法外⾯定义的变量,这样的变量我们称为“属性”或“字段”或“成员变量”(三种称呼都可以)。
属性⽤于描述⼀个类中包含哪些数据。普通属性是保存在对象中的,每有⼀个对象,就有⼀份属性的值。
public class Dog {
String name;//属性
int age;
}
public class Test {
public static void main(String[] args){
Dog dog =new Dog();
System.out.println(dog.name);
System.out.println(dog.age);
}
}
输出:
null
注意:
使⽤.访问对象的属性。
“访问”既包含读,也包含写。
对于⼀个对象的属性如果没有显⽰设置初始值,那么huibeishezhi⼀个默认的初值。
默认值规则:
对于各种数字类型,默认为0;
对于boolean类型,默认为false;
对于引⽤类型(String、 Array、以及⾃定制的类),默认为null。
类中的属性的初始化有三种;1,在类的定义时初始化;2,在实例化对象后,⽤对象访问对象的属性;3,在类中,使⽤构造⽅法初始化属性。
⽅法
⽅法⽤于描述⼀个对象的⾏为。
实例⽅法的⾏为和具体的对象相关联。
所有的⽅法中都隐含着⼀个指向当前对象的引⽤——this。
public class Dog {
String name;//成员属性
int age;
public void show(){
System.out.println("我的名字是"+ name +", 我今年"+ age +"岁了。");
}
}
public class Test {
public static void main(String[] args){
Dog dog =new Dog();
dog.name ="⼩花";
dog.age =5;
System.out.println(dog.name);
System.out.println(dog.age);
实例化类和实例化对象
dog.show();
}
}
输出:
⼩花
5
我的名字是⼩花,我今年5岁了。
这⾥的show⽅法,表⽰dog这个对象具有⼀个“展⽰⾃我”的能⼒。
这样的show⽅法是和dog对象实例相关联的。如果创建了其它实例,那么show的⾏为就会随之发⽣变化。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论