Java三大特性之封装

文章介绍了Java编程中的封装概念,包括隐藏类的内部信息,使用getter/setter方法以及添加控制语句。接着讨论了this关键字的作用,如在构造方法中引用当前对象的属性和方法。最后,阐述了static关键字的用途,如修饰静态属性和方法,以及它们的特点和调用规则。
摘要由CSDN通过智能技术生成

一、封装

1.1什么是封装

将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过提供的方法来进行访问。

1.2为什么要使用封装

隐藏类的实现细节;方便加入控制语句;只能通过规定方法访问数据;方便修改实现;

1.3分装使用的步骤

1.修改属性的可见性:将属性私有化
2.创建共有的getter/setter方法,用于属性的读和写
3.在getter/setter方法中加入属性控制语句,对属性的合法性进行判断

示例:

public class Person{
	private String name;   //将属性私有化
	private int name;
	private String address;

	public String getName() {    //创建公有的getter方法
        return name;
    }

    public void setName(String name) {    //创建共有的setter方法
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
       if(age<0||age>100){				//在方法中加入属性控制语句,对属性合法性进行判断
		System.out.println("年龄超出范围,赋值失败");
	}else{
        this.age = age;
        }
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

二、this关键词

this表示当前的
可以修饰属性、方法和构造方法
用法:this.属性
this.方法名()
this(构造方法名)
示例:

public class Person {
    public String name;
    public int age;


    public Person() {
    }

    public Person(String name, int age) {
        this();				//this()/this(参数);调用构造方法的时候只能在构造方法的第一句
        this.show();     //this.方法名();
        this.name = name;	//this.属性名
        this.age = age;

    }

    public void show(){
        System.out.println("Hello");
    }

注意: static修饰的方法中不可以使用this

三、static关键词

3.1为什么要使用static

有些对象共享类中的某个属性,这个属性就可以用static来修饰以节省空间

3.2 static可以修饰什么

可以修饰 属性【静态属性】 方法【静态方法】 代码块【静态代码块】

3.3 static特点

静态方法可以调用静态方法,不可以调用普通方法
普通方法可以调用普通方法 ,也可以调用静态方法
原因:静态方法是优先加载的,静态方法中若调用普通方法则会出现普通方法还未加载就需要调用的情况

3.4 使用

静态的属性 方法 代码块 可以通过类名点的方式直接调用
示例:

public class Person {
    public static String name;		//static修饰属性
    public static int age;
    
    public Person() {
    }

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

    }
    public static void show(){		//static修饰方法
        System.out.println("Hello");
    }
}

class man{
    public void Hello(){
        Person.name="张三";			//类名.属性调用属性
        Person.show();				//类名.属性调用方法
    }
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值