Java的类和对象(类的实例化,封装,构造方法,代码块,匿名对象)

本文详细介绍了Java中的类和对象概念,包括类的定义、实例化、封装性以及构造方法的使用。通过实例演示了如何创建类、对象的操作,并讨论了封装的作用和构造方法的规则。最后,概述了代码块的不同种类,如普通代码块、构造代码块和匿名对象的运用。
摘要由CSDN通过智能技术生成

Java的类和对象

类与对象的初步认知

1.JAVA是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成
2.面向对象注重的是对象,也就是参与过程所涉及到的主体。是通过逻辑将一个个功能实现连接起来
3.类就是一类对象的统称。对象就是这一类具体化的一个实例
4.面向对象的好处:将复杂的事情变简单了,只要面对一个对象就行。
总的来说:类相当于一个模板,对象是由模板产生的样本。一个类,可以产生无数的对象。
基本语法:

// 创建类
class <class_name>{  
    field;//成员属性
    method;//成员方法
}
// 实例化对象
<class_name> <对象名> = new <class_name>();

class为定义类的关键字,ClassName为类的名字,{}中为类的主体。
类中的元素称为:成员属性。类中的函数称为:成员方法。
举例:

class Person {
    public int age;//成员属性 实例变量
    public String name;
    public void eat() {//成员方法
       System.out.println("吃饭!");  
   }
    public void sleep() {
       System.out.println("睡觉!");  
   }
}

类的实例化

1.用类类型创建对象的过程,称为类的实例化
2.一个类可以实例化出多个对象,实例化出的对象 占用实际的物理空间,存储类成员变量
举例:

public class Person {
    public int age;//成员属性
    public String name;
    public String sex;
    public void eat() {//成员方法
        System.out.println("吃饭!");
    }
    public void sleep() {
        System.out.println("睡觉!");
    }
    public static void main(String[] args) {
        Person person = new Person();
        person.eat();//成员方法调用需要通过对象的引用调用
        person.sleep();
    }
}
//执行结果:
吃饭!
睡觉!

封装

字段和方法都被private修饰,此时就说把这个字段或者这个方法进行了封装。
注:被private修饰的字段和方法,只能在当前类当中使用,不能在类外使用。

class FengZhuang {
    private String name;
    private int age;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void show() {
        System.out.println("name:" + name + "age:" + age);
    }

    public static void main(String[] args) {
        Person person = new Person();
        person.setName("Qingchen");
        String name = person.getName();
        System.out.println(name);
        person.show();
    }
}
//执行结果
Qingchen
name: Qingchen age: 0

注:getName 即为 getter 方法, 表示获取这个成员的值.
setName 即为 setter 方法, 表示设置这个成员的值

构造方法

基本语法:构造方法是一种特殊方法, 使用关键字new实例化新对象时会被自动调用, 用于完成初始化操作.
语法规则
1.方法名称必须与类名称相同
2.构造方法没有返回值类型声明
3.每一个类中一定至少存在一个构造方法(没有明确定义,则系统自动生成一个无参构造)
注意事项
-如果类中没有提供任何的构造函数,那么编译器会默认生成一个不带有参数的构造函数
-若类中定义了构造方法,则默认的无参构造将不再生成.
-构造方法支持重载. 规则和普通方法的重载一致。

认识代码块

代码块就是使用 {} 定义的一段代码.
根据代码块定义的位置以及关键字,又可分为以下四种:
1.普通代码块:定义在方法中的代码块。
2.构造代码块:定义在类中的代码块(不加修饰符)。也叫:实例代码块。构造代码块一般用于初始化实例成员变量。
3.静态代码块:使用static定义的代码块。一般用于初始化静态成员属性。

- 静态代码块不管生成多少个对象,其只会执行一次,且是最先执行的。
- 静态代码块执行完毕后, 实例代码块(构造块)执行,再然后是构造函数执行。

4.同步代码块

匿名对象

匿名只是表示没有名字的对象.

  • 没有引用的对象称为匿名对象.
  • 匿名对象只能在创建对象时使用.
  • 如果一个对象只是用一次, 后面不需要用了, 可以考虑使用匿名对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清晨www

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值