【跟我学java就对了!!!】:类和对象
1.类
(1)定义
class就是类,类是引用类型,类可以由字段(也就是成员变量,也可以叫属性)和方法组成。注意,字段定义在类内,方法外。方法内的定义叫局部变量。
成员变量的默认值是0,如果是引用类型的成员变量,那么默认值是null。
我们来举个类的样版:
import java.util.Arrays;
import java.util.Scanner;
class Student{
String name;
int age;
String sex;
int score;
//方法
public void getscore(){
System.out.println(name+"的成绩:"+score);
}
}
public class de {
public static void main(String[] args) {
Student s1 = new Student();
s1.name = "掌门";
s1.score = 98;
s1.getscore();
}
}
结果是:
我们来分析一下以上的代码:
我们通过对象名.成员变量
来操作对象内的属性。
由于s1是一个引用类型,所以我们创建的时候也可以这样做:
那我们再来看一个小知识点:
这段代码是什么意思呢?
我们现在知道他们俩是指向同一个对象(这里需要注意一点,一个引用不能同时指向多个对象),那么s1和s2的地址呢?
我们用代码来看一下:
public static void main(String[] args) {
Student s1 = new Student();
Student s2 = s1;
System.out.println(s1);
System.out.println(s2);
}
结果:
虽然这个打印出来的地址不是真正的计算机内存的地址,是通过转换而来的,但是计算机转换的方式都是一样的,所以我们就可以认为s1和s2储存的地址是一样的。
(2)成员变量
①普通成员变量(实例成员变量)
实例化对象之后才能用。
②静态成员变量(或者叫类变量)
加了static的变量。静态成员变量要通过类名访问。否则会有警告。
这个代码中s1是对象,Student是类。
静态成员变量存储在方法区里面。不在对象里面,跟对象无关。就算我没有定义一个对象,也可以通过类名找到我们的静态成员变量。
(3)方法
①普通方法(实例成员方法)
实例化对象之后才能用。
②静态方法(或者叫类方法)
就是普通方法多了个static。
和上述成员变量同理。
但要注意,静态方法只能访问静态成员变量。
因为静态方法是通过类名调用的,没有对象参与,所以没有普通的成员变量,也没有普通的方法。
如果想要静态方法使用普通方法,就这样操作:
class Student{
String name;
int age;
String sex;
int score;
static int num;
//方法
public void getscore(){
System.out.println(name+"的成绩:"+score);
}
public static void regetscore(){
Student s1 = new Student();
s1.getscore();
}
}
只要定义了一个对象,就可以访问普通方法了。
要想在静态方法中使用静态成员变量也是如此。
2.对象
就是通过类创建的一个变量。
s1就是一个对象。
(1)匿名对象
代码如下:
这个新创的对象没有引用接收,是一个匿名对象,只能使用一次,后面就不能用了。
(2)序列化
吧一个对象变成字符串的过程。
(3)反序列化
把字符串变成一个对象的过程。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?