财经网站建设,博客一号WordPress,用自己的名字做网站域名,临沂的各类网站建设#x1f36c; 博主介绍#x1f468;#x1f393; 博主介绍#xff1a;大家好#xff0c;我是 hacker-routing #xff0c;很高兴认识大家~
✨主攻领域#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
#x1f389;点赞➕评论➕收藏… 博主介绍 博主介绍大家好我是 hacker-routing 很高兴认识大家~
✨主攻领域【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
点赞➕评论➕收藏 养成习惯一键三连
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限欢迎各位大佬指点相互学习进步 目录
前言
一、内存图
1、构造方法 继承不管什么修饰符子类都不能继承
2、成员变量 继承子类都可以继承
继承的内存图
3、成员方法 继承虚方法表中可以继承
内存分析工具 前言
误区1父类私有的东西子类就无法继承误区2父类中非私有成员就被子类继承下来了
一、内存图
private 表示私有
public 表示非私有1、构造方法 继承不管什么修饰符子类都不能继承
下面代码中创建的Z2对象就会因为没有继承父类产生报错
package demon1;public class Test {public static void main(String[] args) {//利用空参构造创建子类对象Zi z1 new Zi();//利用带参构造创建子类对象//Zi z2 new Zi(zhangsan,23);}
}class Fu{String name;int age;public Fu(){}public Fu(String name,int age){this.name name;this.age age;}
}class Zi extends Fu{//如果一个类中没有构造方法虚拟机会自动的给你添加一个默认的空参构造} 2、成员变量 继承子类都可以继承
继承的内存图
name和age因为被private修饰所以不能被子类直接调用 3、成员方法 继承虚方法表中可以继承
只有父类中的虚方法才能被子类继承 fushow2是private修饰的所以不能传到z1中的虚方法表中 内存分析工具
import java.io.IOException;public class Test {public static void main(String[] args) throws IOException {/* Zi z new Zi();z.fuShow1();*///把对象的地址值z以16进制的形式打在控制台上//System.out.println(Long.toHexString(VM.current().addressOf(z)));//因为内存分析工具需要程序不停止// Scanner sc new Scanner(System.in);//sc.next();}
}class Fu {private int a 0x111;int b 0x222;public void fuShow1() {System.out.println(public --- FuShow);}private void fuShow2() {System.out.println(private --- FuShow);}
}class Zi extends Fu {int c 0x333;public void ziShow() {System.out.println(public --- ZiShow);}
}
jdk自带