Day1 ~ Day6 整理

目录

1.多态之方法覆写

 2. 基本数据类型的默认值

 3.JVM内存区域的划分

 4.关于switch

 5.关于static

 6.接口权限

 7.父类的Private权限

 8.构造方法

 9.抽象类

10.集合类

11.值传递VS引用传递

12.访问修饰符的作用范围 


1.多态之方法覆写

方法覆写:子类与父类的方法名称,参数,返回值均一样

考察重点!!!方法覆写的权限要求:

  • 方法覆写时,子类方法的权限修饰符一定要 >= 父类的权限

(同为包访问权限,但是位于不同包下,也是不可以的)

  • 方法覆写时,不能出现private权限

(如果父类该方法为private权限,则子类的同方法能编译,但是是作为一个普通方法,并不是方法覆写)

(如果子类该方法为private权限,要么不符合>=父类方法权限,编译报错,要么两个都是private权限,没啥意义,也不是方法覆写)

  • 方法覆写时,返回值也不是必须完全一样的,子类的方法返回值也可以是父类返回值类型的子类,即是向上转型的
  • 多提一句,方法覆写只能覆写成员方法,不能覆写静态方法,而方法重载则都可以

2. 基本数据类型的默认值

记住!!!小数默认是double型

正确写法:

float b = 3.5f;

  

 3.JVM内存区域的划分

(1)区:new出来的都在堆上保存,堆是 JVM所管理的最大内存区域

(2)虚拟机栈:重点是存储局部变量表(当然也有其他信息)

(3)本地方法:与虚拟机栈的作用类似. 只不过保存的内容是Native方法的局部变量.

(在有些版本的 JVM 实现中(例如HotSpot), 本地方法栈和虚拟机栈是一起的)

(4)方法区:用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据. 方法编译出的的字节码就是保存在这个区域

(5)程序计数器PC: 只是一个很小的空间, 保存下一条执行的指令的地址

(6)运行时常量池:是方法区的一部分, 存放字面量(字符串常量)与符号引用. (注意 从 JDK 1.7 开始, 运行时常量池在堆上).

 还有:A a = new A()

  

 4.关于switch

只能是整型,字符型,字符串,或是枚举

5.关于static

(1)static族可以互相访问

(2)static成员变量只能在类中声明,不能在方法内再定义(static方法内也不行)

 6.接口权限

接口只有public权限

 7.父类的Private权限

子类作用域中是无法访问父类的Private权限的

8.构造方法

 对于子类的构造方法,一定是要先调父类的构造方法的,没有显式super父类的构造,就会默认调父类的无参构造,可是这道题,父类只有有参构造,那么JVM便不会再默认调父类无参构造,所以编译会报错

修改:

子类构造方法中,先super("B")

9.抽象类

抽象类也是不能实例化对象的;

继承抽象类的普通子类必须实现所有的抽象方法,而如果子类仍然是抽象类,则可以不覆写抽象方法,继续保留抽象方法;

abstract不能和final连用;

abstract不能和private连用;

abstract不能和static连用;

10.集合类

 

11.值传递VS引用传递

 分析:

(1)a,b是引用,存储的是地址

 (2)Java中调用函数是值传递,是将实参的值复制一份传到函数中

(3)x.append(y)是将x指向的字符拼接了y指向的字符,实际是改变了值

而y=x,只是将这里的y(operate.y)的指向改变了,改为了指向x,并没有改变原来y指向的B的值

(4)所以最后,a指向的字符是AB,b指向的字符仍然是B 

 12.访问修饰符的作用范围 

大意了,真没想到这道题做错了😅,基础还是不够夯实呀

  • 首先public一定是范围最大的,全部可见
  • 其次,对于protected修饰的变量和方法,不止其子类,同一个包下的其他类也是可见的 
  • 然后,default是默认访问控制符,只有同一个包下可见
  • 最后是private权限,只有类自己可见

【注意】protected,private都是不可以修饰外部类的,只能修饰变量和方法

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笨笨在努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值