java的封装,继承,多态

java编程面向对象的三大特性
**

## 封装

**
封装 , 隐藏对象实现的属性和细节,只展示我们想展示的东西,隐藏一些不想让人知道的东西,就是封装。举个例子:(他就像是我们要创建一个阿拉伯的神灯。 我们将神放在罐子里,赐予他实现愿望的能力,并限制3个愿望。拿到灯的人只知道能实现愿望,而不知道具体的实现细节)

关于封装有俩个关键字: private 和this
private 可以修饰成员变量和成员方法 被修饰的变量和方法就只能在本类中使用。
举个例子:例如:我们创建一个Student的实体类 ,类里边设置俩个属性,name age

class Student{
	String name;
	int age;
}
clss Test{
	public static void main (String[] ags){
	Student s=  new Student()
	s.name="张三";
	s.age=18;
}
}

我们在main方法中new 一个Student类,那么此时是可以为name 和age赋值的。
但是如果加上了prviate 就会出现下边的编译错误

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

在这里插入图片描述

但是如果我们想要调用被private修饰的成员变量,要怎么做呢?

public class Student {
    String name;
    private int age;

//  通过下边的get/set方法来访问
    public int getAge() {
        return age;
    }

    public void setAge(int n) {
        age = n;
    }
}

在这里插入图片描述
这样就可以访问被private修饰的成员变量了。
关于this关键字

this关键字可以调用本类的成员变量和成员方法,解决局部变量和成员变量的重名问题(java调用的时候是采用就近原则所以,在没有用this关键字的时候,并且成员变量和局部变量重名时,会调用局部变量给局部变量赋值 )

This:代表所在类的对象引用。(方法被那个对象调用,this就代表那个对象)

this调用的内存·图
在这里插入图片描述

1.方法调用将main方法放入栈内存
2.将对象引用String s 放入栈内存,并生成地址在堆内存中开劈空间
3.对象里边的set方法执行放入栈内存方法的局部变量接收到传过来的数据
4.this代表被调用的对象 this地址就等于String s的地址 s在堆中开劈的空间原本为null 将局部变量赋值 也就是修改堆内存的值。

## 继承
继承我想大家只看字面意思就可以理解,就是子承父业。
更简单的说就是,你爸行的,你也行,你爸不行的你还是行。就是行
子类的继承父类,就拥有了父类的全部能力,并且可以在子类中继续扩充一些功能

## 多态
多态 就是指一个对象的多种形态,例如:你创建了一个女朋友,他什么都不会,只会睡觉。做饭都是你来做,于是你觉得这样不行,就将做饭的手艺交给了女票。后来你觉得做饭是没问题了,但是又觉得每天打扫卫生太累,于是,你女票学会了打扫卫生,这个过程就是继承。
你没有重新创建一个会做饭的女票,创建一个会做卫生的女票,而是通过继承将女票变的多才多艺,于是女朋友就成了多态。多重的形态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值