1.类与对象
类是一种抽象描述一类事物通用的属性和行为。
对象是类的实例化,代表了现实生活中的一个具体事物。
对象是类的具体表现,它有着类定义的属性和行为,并且可以根据需要进行个性化设计。
2.类的定义
1)
一般形式:
[权限修饰符] class 类名{
//属性(成员变量)
//方法
}
2)
类文件:
(1)一个类文件中可以有一个或多个类(class)
(2)一个类文件中可以有零个或一个公共类(public修饰的类)
(3)公共类的文件名必须与类文件名相同
(4)非公共类(非public修饰)只能在一个包内被访问
(5)在一个类文件中,每一个类均能生成一个字节码文件(.class文件)
如:
public class Student{
//成员变量
//方法
}
3.属性(成员变量)的定义
1)
成员变量定义在类的内部,是类的一部分,并且每一个类都有自己的一组成员变量
2)
一般形式:
[权限修饰符] 数据类型 变量名 [ =初始值 ]
当成员变量没有被初始化时,将使用默认值,如: byte,short,int,long 初始值均为0、char 初始值为'\u0000'、float初始值为0.0F、double初始值为0.0D、boolean初始值为false、引用类型初始值为null
如:
public class Student{
public int age =18;
public char name;
//方法
}
4.方法(成员方法)的定义
1)
方法是一段可重用的代码块,可以接收输入参数并且返回一个值(作用与c语言中的函数类似)
2)
定义形式:
权限修饰符 返回值类型 方法名([参数类型1 参数名1,参数类型2 参数名2...]){
方法体语句;
}
3)
无参方法:该方法不接受任何参数,在方法定义中不包 含任何参数列表
如:
public void Printf(){
System.out.printf("hello world");
return;
}
4)
有参方法:该方法接受一个或多个参数,这些参数用于向方法提供额外的信息或数据。在方法定义中,需要指定参数列表,包含参数的类型和名称
如:
public int swap(int x,int y){
int max = x;
if(y>x){
max = y;
}
return max;
}
5)
不能在一个方法内部定义另一个方法(就像不能在c语言的函数中定义另一个函数一样)
6)
空方法,用于占位或作为方法的初始版本
如:
public void Space(){
//空方法体,无任何代码
}
7)设置与获取(set and get)
如:
public class Student{
private int number;
private double score;
public int getNumber(){
return number;
}
public void setNumber(int myNumber){
number = myNumber;
}
public double getScore(){
return score;
}
public void setScore(double myScore){
score = myScore;
}
}
4.对象的创建
1)
创建格式
类名 对象名 = new 类名([参数列表])
2)
使用getter和setter方法可以通过对象访问和修改对象的属性
如:
public static void main(String []args){
Student ming = new Student();
ming.setNumber(123456);
//设置学号
int num = ming.getNumber();
//获取学号
}
3)
创建过程中的内存变化
(1)在内存中的栈区创建一个名为student的变量,它是一个引用类型的变量,用于储存对象的引用(相当于指向堆区的地址)
(2)在内存的堆区分配一块内存空间,用于存储Student对象的数据
(3)调用Student的构造方法,初始化对象的属性
(4)将对象的引用赋值给student变量,使得studnt变量指向刚创建的Student对象
4)
对象的使用与调用:用对象的引用变量和点操作符"."来访问属性
如:
ming.setNumber(123456);