Java 类与对象基础知识总结(含封装,单例)

本文介绍了Java中类与对象的概念,包括类的定义、对象的创建与调用,以及面向对象的封装特性。详细讲解了构造方法、get/set方法在封装中的作用,并展示了JavaBean标准。此外,还提及了单例模式的饿汉和懒汉实现。
摘要由CSDN通过智能技术生成

·类与对象的概念

首先我们需要了解一下概念:

对象:指具体的事物,具体到个例!

类:指一类事物的总称,例如:人类,动物类,植物类

·类的基本书写规范

关键字:class

类名书写规范:首字母大写(例如Student,Manager类等)

public class 类名{

    属性:
    //属性修饰词 属性数据类型 属性名
    public String num;
    
    //访问权限修饰符:(控制代码访问的范围)
        //项目中:public
            //同一包中:protected & 缺省(通俗讲就是不写修饰符)
                //类:private
            //不同包中:
                //子类:protected
    
    方法:
    //方法修饰词+返回值类型+方法名(参数列表){方法体}
    public int add(int a,int b){
        return a+b;
    }
}

·对象:

关键字:new

创建一个对象的格式: 类名  对象名  =  new  类名();

·创建对象过程:

        在内存中申请一块空间来存储对象的属性

        对象名本质上就是来存储对象的引用地址

·类中属性和方法的调用

可以通过对象名来调用属性和方法

·static静态修饰属性和方法

static所修饰的属性以及方法不属于对象,只属于类本身,只有一份,在类加载的时候初始化。

其修饰的属性以及方法可以直接被类名所调用。

面向对象三大特征之一——封装:

首先我们来了解类中很重要的一个方法:构造方法!!!

格式:

//无参构造方法
public Student(){

}
//有参构造方法
public Student(int age, String name) {
        this.age = age;
        this.name = name;
    }

Ps.如果不写有参或者无参构造方法,那么类中默认自带无参构造方法,假如写上有参或者无参构造方法中的任意一个或多个,那么默认的无参构造方法将被覆盖!!!

(如果同时存在有参和无参构造方法,那么在创建对象时若不写参数,就调用无参构造方法,若写入参数,则调用有参构造方法)

了解了构造方法和如何创建类与对象后,细心的同学也许会问:如果我要是用private来修饰属性和方法,我如何在别的类里调用呢?

好问题!

这时候我们的set  get 方法就要大显身手了!

格式如下:


public class Student{

private int age;

public int getAge() {
        return age;
    }

public void setAge(int age) {
        this.age = age;
    }
}

所以利用get set方法我们可以给私有成员赋值,并且获取其值,而且还有一个好处:

假如我们赋值年龄为-10,按照程序来讲当然可以,但实际情况不存在有人年龄是负数,所以这时候我们可以在set方法里面加上判断条件语句,来确保我们输入的范围是正确的。

好,知道以上几个概念以后,我们来介绍一个很重要的Java标准:JavaBean封装

基本要求

1.成员变量采用private修饰.

2.为每个成员变量写一对get和set方法

3.有一个无参的构造方法,以及一个有参构造方法

代码如下:

public class Student {
    private int age;
    private String name;

    public Student() {
    }

    public Student(int age, String name) {
        this.age = age;
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public void add(int age){
        this.age += age;
        System.out.println(this.age);
    }
}

有了这样一套标准的设计,是不是简单方便很多?

·单例模式

单例模式分为两种:饿汉单例以及懒汉单例,下面我们来简单说明一下(后续有补充)

懒汉单例:

public class Student {
    //单例必须私有构造方法
    private Student{
    
    }

    //类加载的时候就生成一个S对象,且只能创建一个。
    private static Student S = new Student();
}
    

饿汉单例:

public class Student{
    private int age;
    public static Student getS(){
        return new S();
    }
}

内容大致就是这样了,若有不全的地方欢迎评论告诉我,第一时间更改!

一起加油!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值