Java类和对象章节总结

文章介绍了Java编程中类与对象的基本概念,包括对象的创建、属性与行为的访问、类的构造方法、静态变量与静态方法。类作为对象的模板,定义了对象的属性和行为,而对象是类的具体实例。对象的创建通过new操作符和构造方法完成,属性和行为可以通过对象名.成员的方式来访问。此外,文章还讨论了权限修饰符、局部变量、this关键字以及静态成员的重要性。
摘要由CSDN通过智能技术生成

类与对象概述


在Java语言中,类与对象是非常重要的组成部分,类可以看做是对象的载体,它定义了对象所具有的功能,对象依附于类而存在。


对象

对象是对事物的实例化,例如 人、鸟、电脑、手机等。这些都可以是看作是一个对象。
通常对象会被分为两部分,静态部分与动态部分。
静态部分就是一个事物必然拥有的部分,这个部分被称为属性,任何对象就会有属性。
而动态部分就是一个事物特有的部分,这个部分被称为行为,行为可以是对象独有的,也可以是都有的。

例如:

//学生类
public class Student{
	//这些就是属性,是每一个学生都有的部分
	String name;	//姓名
	int age;		//年龄
	char gender;	//性别
	
	//这个就是行为,每个学生的特长不一定都相同
	public void specialty(String swil){
	}
}


如果将大雁看作是一个对象的话,那么大雁会具有那些属性与方法呢?
图示
在这里插入图片描述



对象的创建

在Java中使用new操作符,调用构造方法创建对象。
如果有多个构造方法,new 操作符会根据构造方法传入的形参来自动调用相应的构造方法。
类名 对象名 = new 构造方法(无参/有参);
Book bk=new Book();	//创建一个对象,使用空参构造
Book bk_2=new Book("Java程序设计");	//创建一个对象,使用有参构造


对象属性与行为的访问

上述已说明对象拥有属性与行为,那么对象的属性与行为该怎么访问呢?

在使用 new 操作符创建一个对象后,可以使用 对象.成员 的方法来使用对象的属性与行为。

例如


public class Main{
	public static void main(String[] args){
		Student s1=new Student();	//使用空参构造创建一个方法
		//给创建的对象属性赋值
		s1.name="小明";
		s1.age=18;
		s1.gender='男';
		//使用对象的属性
		System.out.println(s1.name);
	}
}

//学生类
class Student{
	//这些就是属性,是每一个学生都有的部分
	String name;	//姓名
	int age;		//年龄
	char gender;	//性别
	
	//这个就是行为,每个学生的特长不一定都相同
	public void specialty(String swil){
	}
}


前面已经简略介绍过对象的概念了,对象是类的实例化,而类是对象的载体。
那么以下我们来总结一下,一个类中的组成。

成员变量

在Java中,对象的属性就是成员变量的方式存在的。
public class Book{
	//成员变量
	private String name;	//书的属性
	
	//行为
	public void setName(String Name){
		//为属性赋值
		this.name=Name;
	}
	public String getName(){
		//获取属性值
		return this.name;
	}
}

其实成员变量就是普通的变量,只不过用来表示了类的属性。在创建成员变量时,可以为成员变量设定初始值,如果设定初值的话,会有默认值。如果在创建成员变量时,给定了默认值,那么在本类创建的所有对象,在没有修改这个成员变量的值前,所有对象的成员变量都是这个给定值。


成员方法

在Java中使用成员方法来对应类对象的行为。以上述的Book类为例。
它包含了两个成员方法,一个是设置图书的名称,一个是获取图书的名称。

定义成员方法的格式

权限修饰符 返回值类型 方法名(参数类型 参数名){
	//方法体
	return 返回值;
}
成员方法的定义,其实与方法的定义没区别,只不过成员方法是对应着类对象的行为。


权限修饰符

权限修饰符用于控制外界对类或类中的事物的访问。

Java提供了三种权限修饰符,分别是:public、private、protected。这三种权限修饰符控制着外界对被修饰事物的访问。
在这里插入图片描述

该图片来自网络,侵删。

特别说明,如果类或方法或成员变量前没有加任何权限修饰符,那么就是默认权限default。


局部变量

定义在方法内部的变量称为局部变量。局部变量的定义和使用,与普通的变量一致。
public class Array{

	//交换数组中两个下标的值
	public void swap(int[] arr,int left,int right){
		//此时 temp 就是一个局部变量
		int temp=arr[left];
		arr[left]=arr[right];
		arr[right]=temp;
	} 
}

局部变量在方法被执行时创建,在方法结束时销毁。局部变量在使用前必须进行赋值或者初始化。



局部变量的有效范围

如果把一对{}大括号看作一个方法的话,那么局部变量的作用域在定义后,直至{}大括号结束。

图示
在这里插入图片描述



this关键字

this关键字只能在本类中使用。

this关键字表示对象当前调用者的地址。

public class Main {
    public static void main(String[] args) {
    	//创建一个Array类的对象,对象名为a1
        Array a1=new Array();
        a1.show();
        System.out.println(a1);	//输出对象地址值
    }
}
// 定义一个Arra类
class Array{
    public void show(){
        //输出 调用者对象的地址
        System.out.println(this);
    }
}

结果如下
在这里插入图片描述



例如:以下代码得运行结果是什么呢?

public class Main {
    public static void main(String[] args) {
        Array a1=new Array();

        a1.showNum();
    }
}
class Array{
    private int num=100;
    
    public void showNum(){
        int num=-100;
        System.out.println("第一个数:"+num);	
        System.out.println("第二个数:"+this.num);
    }
}

因为this关键字代表着对象当前调用者的地址,所以this.num 等价于 Array.num。


输出结果
在这里插入图片描述



类的构造方法

在类中,除了成员方法之外,还有一类特殊的方法,就是构造方法。构造方法是一种于类同名的方法。
在一个类创建对象时,虚拟机会根据形参,自动调用构造方法,来初始化对象。

构造方法没有返回值,且构造方法的名称要与本类同名。同时满足这两点才是一个构造方法。


无参构造与有参构造

这里的有参与无参,指的是有无形参。
public class Book{
	private String name;

	//无参构造
	public Book(){
	}
	//有参构造
	public Book(String Name){
		this.name=Name;
	}
}

特别注意:无参构造不需要我们自行编写,虚拟机会自动加上,但是如果我们编写了有参构造的话,那么此时虚拟机不会自行添加无参构造,需要我们自行编写。



静态变量与静态方法

使用static关键字修饰的方法或者变量称为静态的。
被static修饰的变量与方法,地址被放置于静态区内,在类文件执行时,会自动调用这块区域,且只会执行一次。

静态方法与变量可以直接使用 类名.静态成员 的方式调用。

静态关键字使用注意点

  1. 在静态方法中不可能使用this关键字
  2. 静态方法只能调用静态方法,非静态方法调用所有
  3. 局部变量不可以使用static关键字声明
  4. 主方法必须使用static声明
  5. 所有类,只有内部类可以使用static关键字声明


结尾

上述就是有关Java类与对象章节的总结了,写的可能不是很好,如有表达错误的地方,望各位指出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值