范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Java基础08静态关键字static和继承(thissuperextends)

  目录1. 关键字static1.1 修饰成员变量1.1.1 特点1.1.2 访问格式1.1.3 定义场景1.1.4 示例1.2 修饰成员方法1.2.1 特点1.2.2 访问格式1.2.3 定义场景1.2.4 示例1.3 代码块1.3.1 格式和示例1.3.2 特点及场景1.4 注意事项
  2. 关键字this、super和extends2.1 继承(extends)2.2 继承的特点2.3 继承成员访问2.4 方法重写2.5 子类构造器2.6 this和super3. 类执行顺序
  1. 关键字static
  static是Java的关键字,可以修饰成员变量和成员方法。1.1 修饰成员变量1.1.1 特点加关键字static的成员变量 -> 静态变量:
  静态成员变量属于类属性,内存中只加载一次不加关键字static的成员变量 -> 实例变量:
  实例成员变量属于实例属性,每次创建新实例会初始化变量1.1.2 访问格式
  静态成员变量:类.变量名(推荐) 实例.变量名
  实例成员变量:实例.变量名 1.1.3 定义场景
  静态成员变量:
  属性属于类,且需要实例共享或者是常数等(例:圆周率3.14)
  实例成员变量:
  属性属于所有实例共性,但是每个实例属性值并不相同1.1.4 示例public class StaticTest1 {     // 定义静态成员变量     public static double PI = 3.14;     // 定义实例成员变量     public double result;          public static void main(String[] args) {         // 计算圆的周长         StaticTest1 staticTest1 = new StaticTest1();         // 圆的半径为2         staticTest1.result = 2 * 2 * StaticTest1.PI;         System.out.println(staticTest1.result);     } }
  PI是属于静态成员变量,需要共享,所有圆相关的计算都需要它,所有他是静态共享的。简单的内存描述:
  类加载后再堆内存中创建PI变量 方法区加载main方法,之后开始运行将main方法加载到栈内存中 初始化StaticTest1类,在堆内存中创建实例,将实例地址返回给staticTest1实例变量名 这时实例staticTest1中静态变量指向的是类加载是创建的静态变量PI 执行计算,赋值给staticTest1实例成员变量 输出结果1.2 修饰成员方法1.2.1 特点加关键字static的成员方法 -> 静态成员方法:
  静态成员方法属于类,内存中只加载一次,所有对象共用功能不加关键字static的成员方法 -> 实例成员方法:
  实例成员方法属于实例特有方法1.2.2 访问格式
  静态方法:
  类.静态方法
  实例.静态方法(不推荐)
  成员方法:
  实例.成员方法1.2.3 定义场景
  静态方法表示类共用的功能,并不属于特定对象方法。比如计算加法都是两数相加,这是特定功能,每个实例计算的过程都一致。在程序中为了方便单独访问。
  成员方法表示实例特有方法。比如学生实例,每个人说话的声音都是不同的,这就是特有功能,某某人说得话,具有一定识别性。在程序中需要访问成员变量。1.2.4 示例public class Student {     // 定义静态方法     public static void task() {         System.out.println("所有学生的任务是学习");     }     // 定义实例方法     public void sleep() {         System.out.println("每个学生的睡姿都有自己的独特性");     }      public static void main(String[] args) {         // 直接调用静态方法         Student.task();         // 调用实例方法         Student student = new Student();         student.sleep();     } }
  你可能会想,任务task方法也是学生的独特方法,这样想确实也没问题。这就要看你抽象出来的方法是否具备所有对象共有。比如sleep这个方法也可以是静态方法,毕竟所有学生都需要休息,但是要具体到每个学生休息情况就变成独有的。1.3 代码块
  代码块是类的五大部分之一(代码块,构造方法,成员变量,方法,内部类),在java中使用{}括起来的就是代码块1.3.1 格式和示例
  静态代码块:static { 	... }
  代码块:{ 	... }
  示例:public class StaticTest2 {     // 静态代码块     static {         System.out.println("静态代码块执行");     }     // 代码块     {         System.out.println("类代码块执行");     }     public static void main(String[] args) {         // 创建示例         StaticTest2 staticTest2 = new StaticTest2();     } } 1.3.2 特点及场景
  静态代码块特点:类加载执行,只执行一次场景:做一些静态资源加载
  代码块特点:每次创建实例调用构造方法时执行,在构造方法之前执行。场景:初始化实例资源1.4 注意事项
  静态关键字主要应用在工具类和常量中,在实际开发中,工具类是必不可少的。
  静态关键字还可以修饰类,这将牵扯到内部类,将在下章说明静态方法只能访问静态成员变量,不可以访问实例成员变量。实例可以访问静态成员静态方法中不可以使用this关键字(下面会说)
  2. 关键字this、super和extends关键字this、super主要在继承方面体现到的比较多。this表示当前实例,super表示父类。java中提供关键字extends,使一个类和另一个类建立继承关系,被继承类为父类,继承类为子类。继承类(子类)可以直接使用父类的属性和成员方法,这样就大大提高代码的复用性。2.1 继承(extends)
  格式:public class 类名 extends 父类类名 { 	... }
  优势:
  提高代码的复用性,减少冗余代码 增强代码的扩展性
  设计规范:
  提取类之间相同属性 子类独有属性不要放在父类中 所有类设计符合面对对象逻辑2.2 继承的特点子类可以继承父类的属性和行为,但是不能继承父类构造器java是单继承,一个子类只能有一个父类(很符合现实生活)不支持多继承,但支撑多层继承java中所有类都是Object的子类子类可以继承父类私有成员变量,但是不能直接访问(可以通过公共方法和构造器访问和设置)不继承静态变量,可以共享2.3 继承成员访问在子类中访问成员(就近原则)
  先子类局部范围访问 然后子类成员访问 父类成员访问 以上都没有则报错如果子父类出现重名成员,则优先使用子类。若想调用父类,格式如下:super.父类成员变量/父类成员方法 2.4 方法重写简介:子类继承父类时,子类实现了和父类相同的方法,我们就称子类方法为重写方法。格式:当子类重写父类方法时,需要在方法上添加@override注解要求:①重写的方法必须与父类方法相同,除了名称,参数列表也要一致。②私有方法不能被重写。③子类重写方法时,访问权限必须大于等于父类方法访问权限。
  示例:public class People {     private String name;      public void showName() {         System.out.println("我的名称:" + name);     }      public String getName() {         return name;     }      public void setName(String name) {         this.name = name;     } }  public class Teacher extends People {     public Teacher() {         super.setName("Tome");     }      @Override     public void showName() {         System.out.println("我是教师。我的名字是" + getName());     }      public static void main(String[] args) {         Teacher teacher = new Teacher();         teacher.showName();     } } 2.5 子类构造器子类构造函数执行时都先执行父类的默认构造函数子类构造函数第一行默认是super()不写也存在如果父类无默认构造器将报错如果父类无构造器,也可以手动调用父类构造器。(例:super(param…))2.6 this和super
  关键字
  访问成员
  构造器
  说明
  this
  this.成员变量/this.方法名(…)
  this(…)本类构造器
  代表当前调用类对象引用
  super
  super.成员变量/super.方法名(…)
  super(…)父类构造器
  代表当前调用类对象父类引用
  注意:
  this(…)和super(…)只能放在方法的第一行,所以这两个方法不能在同一个方法中出现。3. 类执行顺序// 父类 public class People {      private String name;     private String sex;     private int age;      static {         System.out.println("执行People静态代码块");     }      {         System.out.println("执行People代码块");     }      public People() {         System.out.println("执行People构造器");     }      // get and set } // 子类 public class Student extends People {      private int studentId;     private String pro;      static {         System.out.println("执行Student静态代码块");     }      {         System.out.println("执行Student代码块");     }      public Student() {         System.out.println("执行Student构造器");     }      // get and set } // 测试类 public class Test {     public static void main(String[] args) {         Student student = new Student();     } }
  运行Test类可以看见执行后的结果:
  执行People静态代码块
  执行Student静态代码块
  执行People代码块
  执行People构造器
  执行Student代码块
  执行Student构造器
  本章结束,用于个人学习和小白入门,大佬勿喷!希望大家多多点赞收藏支撑支撑!
  源码 【GitHub】 【码云】

人民对美好生活的向往是我国经济发展的主脉络人民对美好生活的向往是我国以后一个时期经济发展的主脉络与巨大推动力。众所周知,拉动经济增长的三驾马车是投资,消费,出口。我国是一个有着14亿人口的消费大国。近期,中央财经委第十次会两个必须懂一个互联网,一个新零售,不懂互联网就是新时代文盲从五个方面解析华云数字!华云模式是东西方文化经济的博弈,华云代表的是人类历史上的一次商业性变革。华云数字带你看破未来100年经济趋势,华云模式是旧财团的掘墓人,华云模式是全民小康强长江经济带打造人民对美好生活向往的幸福大长廊9月2日,国家财政部出台关于全面推动长江经济带发展财税支持政策的方案,支持长江经济带成为我国生态优先绿色发展主战场,畅通国内国际双循环主动脉,引领经济高质量发展主力军。1。更好发挥上海对赌特斯拉论成功的政府商业性投资上海对赌特斯拉论成功的政府商业性投资。根据政府投资条例规定,政府投资原则上市场不能有效配置资源的公共领域,以非经营性项目为主。但我们也经常看到政府投资产业化经营性项目并大获成功的案万亿海航的落幕论我国当前经济发展的新常态新理念,新格局万亿海航集团的风云三十年论我国当前经济发展的新常态新理念,新格局。世间万物都是辩证式的存在,螺旋式的发展,盛极而衰否极泰来,阴阳替换,周而复始。大自然如此,经济社会发展亦是如此。下新星宇房子质量怎么样?新星宇之悦保障美好生活一天只有24小时,但新星宇能给你带来的美好远不只24种。新星宇房子质量怎么样?经过工作人员的日夜耕耘和共同努力,新星宇之悦将献给您一份名为美好生活的答卷。新星宇房子质量怎么样?新星空调行业新标准发布,海尔成空调推荐和空调排行榜常客尽管目前网络上有大量的空调推荐和空调排行榜这类的数据,但是消费者在购买空调的过程中,面对榜单中诸多的品牌依然不知道作何选择。近期国内空调行业首个具有森林风功能空调器的测试与评价团体一加9Pro一个月体验换ColorOS后真的难找出缺点提到一加手机你能想到什么?相信在2021年之前有不少人甚至都不知道国内有这样一个手机品牌,但在今年至少大部分人都会脱口而出哈苏胡歌周迅代言一类的吧。其实2年前一加7Pro大火时小编CNXSoftware博客为什么来中国?理由很简单近日,国际知名的科技自媒体博客CNXSoftware推出中文站,致力于为国内嵌入式工程师电子发烧友软件工程师及技术爱好者们提供有价值的信息。CNXSoftware博客为何创立中文网5G双全网通,联发科5G战车天玑900越级体验,刷新市场标准联发科发布全新天玑9005G移动芯片,高端市场迎来全新布局。此次这款全新旗舰级芯片采用台积电6nm制程CortexA78CPU架构,可支持LPDDR5内存和UFS3。1闪存,越级规放弃荣威RX5MAX,选北京X7无法拒绝的理由是什么?由于二胎政策的开放,很多家庭都在筹划着生二胎,多了一个人,对于车的空间要求也就更大了,假如再带上家里的老人,小汽车更显得很拥挤,坐着也不舒服,于是换一辆空间大的车已是刻不容缓了。过
百度系迎来收获期?极米科技业绩增长解禁市值近百亿元这家科创板公司即将迎来百亿市值解禁。2月22日,极米科技披露公告显示,本次限售股上市流通数量为2137。18万股,占公司总股本数的比例为42。74,限售股上市流通日期为2022年3iQOO拿出三周年诚意,发布最贵手机,普通用户能买得起么?说iQOO9Pro是最贵的iQOO手机我倒不怎么认同,毕竟这是iQOO家族的第四款Pro产品,价格比起之前几代并没有明显提升。而大家之所以反应这么激烈最大的原因还是发布时间之前的i小鹏腰斩蔚来垫底,2月难倒新势力深途(shentucar)原创作者黎明编辑魏佳蔚小理的2月销量,比往常来的更晚一些,也要更少一些。3月1日,直到下午港股收盘,蔚来理想小鹏才集中在这个时候,发布了2月的成绩单蔚来6更智能便捷的通信体验要来了?OPPO发布零功耗通信白皮书不知不觉中,5G已经慢慢融入了各行各业,5G通信时代的大门已经打开。在推动5G加速普及的道路上,各大运营商和手机厂商所做的努力功不可没。以OPPO为例,早在2015年OPPO就已经电话费不足,电话打不了,骗子为什么能在网上长久又明目张胆骗人?如果电话费不足电话当然打不了啦,但把电话费交上电话就打得了了啊,交电话费这种事可以线上交的,连三分钟都不用,再说了不想手机话费不足多交点话费就好了,虽然骗子的话费要多少我不是清楚,三星Exynos2200正式发布首个硬件级光追来了此前跳票许久的三星Exynos2200曾多次传出被取消的消息,就在一众星粉们失望之际,三星却又在1月18日上午突然发布了采用4nm极紫外光刻工艺的Exynos2200处理器。三星表刀法精湛卡位精准,AMDRX6500XT显卡解读一直以来,显卡市场的竞争都非常激烈,从标准的对位PK,到精妙的错位竞争,AMD和英伟达都是各显神通。通过对核心显存接口等规格的精细调节,实现对同档次竞品的压制,可谓是刀法精湛。在今既能提高电脑流畅,又能防止电脑桌面材料丢失不妨学一下这两招招一,为什么电脑总是出现有时候的卡顿,有时候顺畅的情况,现在教你一招,让你的电脑性能瞬间提高流畅。首先点一下此电脑,鼠标右键打开属性,点开进入高级系统设置,再看到性能点设置选择调整地平线8号Power登机箱绅士范颜值,大容量收纳作为一个上班族,平时也免不了经常去出差,带上各种工作需要的档案和自己喜欢的电子产品去往一个陌生的城市,对于旅行箱的需求还是比较高的。在我看来,旅行箱能够反映出一个人的气质,在机场车风冷和水冷各有优势!九州风神AK620上手体验在DIY主机上面,CPU散热器是对平台性能影响很大的一个组件,不仅选择的时候要为CPU和机箱量体裁衣,而且用过一段时间也要做些清洁维护,这样才能确保CPU的性能表现。在散热器的选择不仅干好本职,须眉剃须刀新玩法,居然可以当充电宝手电和风扇剃胡须是每个男人都要干的事,毕竟几天不剃胡须,胡子渣又长长了,作为须眉(SMATE)的粉丝,须眉剃须刀T6pro推出后,小编及时入手,想抢先体验一把这剃须刀的新玩法。从产品的功能介