ooday04(面向对象)

1.重写(voerride/voerriding)重写、覆盖

  • 发生在父子类中,方法名,参数列表都相同。提示向上箭头证明是重写

  •  重写方法调用时,根据引用对象是谁进行调用

  • 引用类型不同,但是调用重写方法是,看引用对象是谁进行调用
    ObserveSubmarine O1=new ObserveSubmarine(); 
    SeaObject O2= new ObserveSubmarine(); 
    O1.move(); //调用的是ObserveSubmarine的重写 
    O2.move();//调用的是ObserveSubmarine的重写

2.遵循两同两小一大原则;

两同:

  • 方法名相同

  • 参数列表相同

两小:

  1. 派生类方法的返回值类型小于或等于超类

  • void和基本类型,必须相等

  • 引用类型时,要小于或等于超类

  1. 派生类方法抛出的异常小于等于超类方法-------API异常时再讲

一大:

  • 派生类的访问权限大于超类方法的

package和import

package:声明包

  • 作用:避免类的命名冲突

  • 同包的类不能同名,类的全称(包.类)。包需要用小写命名(有层次结构)

import:导入类

同包的类可以直接访问,不同包的类不能直接访问

  • 先import.类名(全称)再访问---建议

  • 类的全称---------不建议

3.访问控制修饰符

public:公开的,任何类

private:私有的,本类

protected:受保护的,本类,派生类、同包类

默认的什么也不写 本类,同类包

访问权限由低到高:pravate<默认的<protected<public

类的访问权限只能是public或默认的,而类中成员的访问权限如上四种都可以

4.static:静态的

静态变量:

  • 需要static修饰,

  • 属于类,存在方法区中只有一份

  • 需要类名打点进行访问,存在方法区

  • 何时用:所有对对象所共享的数据(视频,音频,图片)

2.静态方法:

  • 由static修饰

  • 属于类,存在方法区中,只有一份

  • 常常通过类名加点进行访问

  • 静态方法中没有隐式this传递,所以不能直接访问实例成员

  • 何时用:方法的操作与对象无关时(不需要访问对象的属性)

3.静态块

  • 由static修饰

static{ }
  • 属于类,在类被加载期间自动执行,一个类只被加载一次

  • 何时用:加载/初始化静态资源(图片,音频,视频)

补充:

1.数据(成员变量)私有化(pravate),行为(方法)大部分公开化(public)

2.成员变量的分类:

  • 实例变量:没有static修饰,属于对象的,存在堆中,有几个对象就有几份,通过对象引用打点来访问

  • 静态变量:有static修饰,属于类,存在方法区中,有且仅有一份,通过类名打点来访问

3.内存管理 jvm管理

堆:new的对象(实例变量,数组的元素)

栈 局部变量(方法的参数)

方法区:class.字节码文件,(静态变量、所有方法)

4.给实例变量初始化建议写在构造方法中,给静态变量初始化建议写在静态块中

静态变量,运行图,对象中的可以有多个,静态变量有一个,所以对象a每次都是从0开始赋值,b确是一个,递增

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值