javase 封装,static,继承

java面向对象的特征之一 (封装)
封装:通过私有化屏蔽外部对成员的直接访问,从而提高安全性,屏蔽具体的实现细节
实现封装的细节:
1.把成员私有化,这样外部的类中就无法访问
2.给私有化的成员提供公开访问getter和setter方法
get用于访问数据值,所以只需要返回,不需要参数
set用于赋值,需要参数,不需要返回

this关键字只能在类的普通的成员方法和构造方法中使用
this表达式的是当前正在使用的对象本身
this.成员属性 this.成员方法()
this()调用构造方法,在任何一个构造方法中可以使用本类的其他

 

static 静态关键字
static可以用来修饰属性,方法,代码块,内部类,导包上
静态修饰的都在编译期间加载,优先加载

静态关键字修饰的变量具备以下特征
1.编译期加载,JVM分配空间
2.一直使用同一块内存地址,对静态成员的改变会影响所有使用这个变量
的方法
3.静态的成员是独立于这个类的对象之外的存在,归属于类所有,
所有的类和对象都可以直接通过 类名.静态的成员(需要考虑访问权限)
4.静态的成员不要用this调用,因为不属于某个对象,改变会影响其他
5.静态的属性只能声明在类中

静态方法
1.静态方法中只能使用静态变量,不能使用实例变量
2.静态方法不能直接调用本类中的普通方法,只能访问静态方法
3.普通方法可以直接访问静态方法

静态代码块
1.编译期加载并且执行,只会加载一次,会在实例代码块和构造方法
之前执行

加载执行顺序(没父类的情况下)
1.在只有成员属性和方法的情况下先加载变量,再加载方法,记住变量
优先加载就对了
2.静态属性和静态代码块按照顺序加载执行
3.如果静态属性是对象类型并且实例化,会先加载执行完对象的
属性,方法,实例块,构造方法

 


继承
发生在两个类之间,一个类继承另一个类,产生父子类关系
继承的作用
1.子类继承父类通过extends关键字,继承后子类拥有父类一切非私有
的属性和方法的访问
2.父类私有的成员,构造方法不能被继承
3.一个类只能有一个直接父类,可以有N个子类.但是java的继承具有
传递性,也就是子类可以访问到父类的父类的方法
4.java中所有的类在没有继承之前默认继承的是Object类,Object
类是所有类的超类(基类)


本类 同包 子类 其他
private √
(不写,默认) √ √
protected √ √ √
public √ √ √ √


super关键字的使用
super和this的区别在于,this表示当前对象,super表示父类对象
super.父类的属性 super.父类的方法
super还可以用来调用父类的构造方法: super()
在子类创建调用子类构造方法
之前会先调用父类的构造方法,子类的构造方法的第一行隐式存在一个
super(),super()无论是否带参都只能写在子类的构造方法的第一行
不能在普通方法中调用父类的构造方法,包括本类的构造方法

 

转载于:https://www.cnblogs.com/beiluo712/p/10429087.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值