Java面向对象--类的特性

一、类的私有成员与公共成员

  1. 私有成员
    如果没有一个方法去限制对类中成员的访问,则可能会造成错误的输入,而为了防止这种情况的发生,Java中提供了私有成员访问控制修饰符private,在类的成员声明之前加上private,则无法从类的外部访问到该类的内部成员,而只能被该类的自身访问和修改,而不可以被其他类访问。从而达到了保护数据的目的。

  2. 公共成员
    public公共访问控制符,使得该成员可以被其他的类访问。

  3. 缺省访问控制符
    若在类成员的前面不加任何访问控制符,则该成员具有缺省的访问控制特性,这种缺省访问控制权表示这个成员只可以被同一个包中的类访问,不可以被其他包的类所使用的。

二、方法的重载

方法的重载时实现“多态”的一种方法。什么叫重载,就是一个类中具有相同名称的多个方法,这多个的同名方法参数个数不同,或者参数类型不同,则这些同名的方法则具有不同的功能。
例如:

public class demo{
    public void printf(int num){
        System.out.println(num);
    }

    public void printf(float num){
        System.out.println(num);
    }

    public void printf(int num1, int num2){
        System.out.println(num1+num2);
    }
}

三、构造方法

  1. 构造方法简介
    a.构造方法是一种比较特殊的方法,它是对象在创建时候就是执行的一种方法。它没有返回值,但是不需要用void去进行修饰。因为一个类的构造方法返回值类型就是类本身。 构造方法在定义之后,创建对象实例的时候,就回自动调用它,因此构造方法不需要在程序中直接调用。

    b.构造方法的特性:

    • 构造方法的方法名和类名相同。
    • 构造方法没有返回值,且不能写void
    • 构造方法的主要作用是完成类对象的初始化工作。
    • 构造方法一般使用new来调用。
    • 创建一个类的对象的时候,Java会自动调用类的构造方法去完成初始化工作。
  2. 默认构造方法
    一般来说,如果类中没有定义构造方法,类会提供一个默认的构造方法。程序创建对象的时候会自动调用默认构造方法。
    注意:若果在一个类之中,我们已经定义了一个有参数的构造方法,但是却调用五参数的构造方法去创建对象的时候,此时编译就不会通过。

  3. 构造方法的重载
    我们可以对构造函数进行重载。

    public class demo{
    	int height;
    
    	demo(){//默认无参构造函数
    
    	}
    	demo(int height){//重载构造函数
        	this.height = height;
    	}
    }
    

四、静态成员

static修饰的成员被称为静态成员,也被称为类成员,不用static修饰的成员称为实例成员。

  1. 实例成员
    类定义中成员变量或者成员方法没有被static修饰的,就是实例成员。

  2. 静态成员
    使用static修饰的成员变量称为静态变量,也就是类变量。所有对象都是享用同一块内存单元。
    并且,静态变量不需要实例化就可以使用。
    使用方法:

    类名.静态变量名;
    对象名.静态变量名;
    
  3. 静态方法
    与静态成员类似的是类的静态方法。
    static方法中,不能使用this和super,因为this是代表调用该方法的对象,但是现在静态方法不需要使用对象来进行调用。而super也是与this类似,是属于对象范畴的东西,但是静态方法是属于类范畴的东西。

  4. 静态初始化器
    静态初始化器由关键字static修饰的一队花括号"{}"括起来的语句块,它的作用于构造方法有些相似,都是用来初始化工作的。
    静态初始化器和构造方法不同的:

    a.构造方法是对每个新创建的对象进行初始化,但是静态初始化器是对类自身进行初始化。
    b.构造方法是在使用new运算符创建新对象的时候由系统自动执行,但是静态初始化器一般不能够由程序调用,它使用所属的类被加载入内存调用执行的。
    c.用new运算符创建多少新对象,构造方法就会被调用多少次,但是静态初始化器却只是类在被加载入内存时只执行一次,与创建了多少的对象无关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值