1Java三大特性为

java三大特性:封装 继承 和多态

1.1生活中的继承

子承父业

龙生龙,凤生凤,老鼠生来会打洞

你很像你的父亲

游戏里面 大量的继承 比如lol里面英雄都有qwer技能

1.2java 中继承的语法格式

java使用关键字: extends进行继承的操作

继承至少得有两个类

格式:

class B extends A {

}

B类继承了A类,A类是B类的唯一的父类或者叫超类或者叫基类

java中是单继承【一个儿子只能有亲生父亲】

B类是A类的子类

B类继承了A, A的东西(除了私有化的)都可以用!!!

成员属性:

公开的成员属性

子类能继承父类公开的成员属性

私有的成员属性

子类不能继承父类私有的成员属性

成员方法:

公开的成员方法

子类能继承父类公开的成员方法

私有的成员方法

子类不能继承父类私有的成员方法

构造方法:

无参数的构造方法

子类继承了父类,会把子类的无参构造方法执行,并且也会执行父类的无参构造方法。执行循序,先执行父类的无参构造,再执行子类的无参数的构造。

2.子类父类的内存分析图

实例化子类的时候,先执行的父类的构造方法,然后再子类的构造方法

3.super关键【有点鸡肋】

this调用当前对象的成员属性和成员方法。

this调用构造方法

super调用父类的成员属性和成员方法

【注意事项】:

1.必须有继承关系,如果想要使用super关键字

2.super关键字必须写在子类中。意思是让在子类中调用父类的一些东西

3.super.成员属性 只能写在子类的定义的方法中

4.super.方法() 只能写在子类定义的方法中

super调用构造方法:

格式:

super(参数);

【注意事项】:

1.一定要在子类的构造方法中去调用父类的构造方法

2.必须写在第一行

成员变量:

super.blood = 2000; 只能写在子类定义的方法中

成员方法:

super.haPi(); 只能在子类定义的方法中调用

构造方法:

在子类中的构造方法中去调用父类的构造方法。

4.重写【override】

子类通过继承可以使用父类的非私有化的成员方法,但是有的时候父类的方法需求不满足子类的需求了。在不改变父类的方法需求下,可以对父类的方法进行重写

重写条件:

1.必须有继承关系

2.父类的方法必须是公开的

3.子类的方法必须和父类的方法一样(返回值,方法名字,参数)

4.必须在子类中重写

5.重载【overload】

重载的条件

1.必须在同一个类中

2.方法名字必须一样,返回值必须一样,但是参数一定不一样!!!

class Person {//run这三个方法就是方法的重载//是方法名字一样  返回值一样   参数列表一定不同!!!//成员方法public void run () {System.out.println("在跑步");}public void run(String name) {System.out.println(name + "在跑步");}public void run (String name, int age) {System.out.println(name + ":" + age + "在跑步");}
}
public class Demo1 {public static void main(String[] args) {Person person = new Person();person.run();person.run("老邢");person.run("帅栋", 37);}
}
​

6.instanceof关键字

是java中二元运算符,左边是对象,右边是类。返回值是布尔类型

当左边对象是右边的类或者子类所创建的对象时候,返回true.否则返回false

语法格式:

person instanceof Object

public class Demo1 {public static void main(String[] args) {
​/*是java中二元运算符,左边是对象,右边是类。返回值是布尔类型
​
当左边对象是右边的类或者子类所创建的对象时候,返回true.否则返回false*/B b = new B();A a = new A();boolean result = b instanceof A;boolean result1 = a instanceof A;//true
​C c = new C();boolean result2 = c instanceof B;//trueboolean result3 = c instanceof A;//true
​System.out.println(result);}
}
​

7.抽象类【abstract修饰的类】

7.1abstract关键字

1.abstract修饰成员方法叫抽象方法

2.abstarct修饰类 叫抽象类

【注意事项】:

1.abstract修饰成员方法,但是这个方法没有方法体

2.abstarct修饰的成员方法所在的类,也必须加上abstract修饰

3.abstract修饰的成员方法,没有方法体,没有实现的代码,是一个半成品

4.抽象类下面可以有非抽象的方法

5.抽象类下面可以没有抽象的方法,但是你叫抽象类

6.抽象类不能被实例化

7.抽象类能被继承,但是必须重写抽象方法,非抽象方法可重写可不重写

8.一个类只能继承一个抽象类

Java小白学点东西(基础)(8)相关推荐

  1. 吐血整理:小白学python编程基础(1)

    小白学Python编程基础 华丽蜕变 TIOBE开发语言排行榜 中国教育界重大变革 教育界重大变革缘由 前世今生 程序设计语言 编程语言的使命 Python的诞生 Python的发展 Python的语 ...

  2. 电脑小白学python_零基础的小白怎么学python?

    零基础的小白怎么学python?下面本篇文章就来给介绍一下,希望对你们有所帮助. 1.选择Python版本 对于Python工程师来说,Python的版本则是你们的工作环境.所以在学习之前一定要考虑选 ...

  3. 小白学python,零基础学Python难不难?

    Python是一门非常适合入门的编程语言. Python语法简单明了,代码可读性很高,容易入门:对于初学者规范自己的学习有很大的帮助,同时还可以帮助初学者看懂别人的代码.今天达妹就带大家了解一下,零基 ...

  4. 学好JAVA需要学哪些东西?来我教你

    文章目录 前言 关于我 读书笔记 - 个人开源(项目.小工具) 实用工具 一.Java后端 Java基础 数据库 MySQL Redis - JUC并发编程 JVM Netty 日志框架 23种设计模 ...

  5. 小白学测试(基础知识)

    一.什么是软件测试? 软件测试是在软件投入运行前对软件需求分析.软件设计规格说明和软件编码进行差错和纠错.简单地说:测试是为发现错误而执行的过程. 二.软件测试的原则 1)尽早地和不断地进行软件测试: ...

  6. 小白学剪辑从哪里开始 小白学剪辑用什么软件好

    小白如果要学剪辑,最好先确定学习的目的以及用途,然后在进一步决定学什么.如果是要学习专业剪辑的话,选择的内容会更专业:而如果只是满足日常娱乐需求的话,选择的内容就会简单一些.接下来,一起来了解下小白学 ...

  7. java编程好学么_零基础小白学Java编程好学吗

    Java是一门不会衰落的开发语言,伴随着IT行业的兴起,目前学习java培训的人员也是变得更多了,但要想学好java的话通过自学是没有那样非常容易的事情.尤其是对于初学者的学生而言,那么零基础小白学J ...

  8. java零基础多久能学会_小白学java大概需要多久 零基础学起来难么

    这取决于每天学习的时间.如果你每天花2-3个小时学习,大约需要半年时间.更重要的是,这取决于你学了多少.如果你想学一门基础知识,只需要几个月.如果你想深入学习,熟悉它,需要一年.两年甚至三五年的时间. ...

  9. 零基础小白学Java难度大不大

    零基础小白学Java难度大不大?有很多人都是非常关心这个问题的,如今java在IT互联网行业的快速发展,引起了很多人的注意,那么,哪些人适合入行Java?零基础学习Java难度大吗?下面,小编就为大家 ...

最新文章

  1. opencv形状识别学习总结
  2. 写在创业的路上:如何从无到有的打造一个产品
  3. php获取标准输入输出,shell--标准输入输出(readamp;echo)
  4. 帧中继(Frame Relay)实验
  5. js整体缩小网页_SEO网页优化的原则是什么?
  6. pytorch查看模型的可训练参数
  7. e300氛围灯哪里调节_保时捷macan内饰改装升级32色呼吸氛围灯
  8. linux内核 3.1,快更新:Linux新内核发布 支持USB3.1!
  9. Prophet模型预测商品销售量
  10. matlab如何动态输出很长的图片,Qt实现长图片的放大缩小以及动态显示
  11. 解决master[remote rejected] pre-receive hook declined
  12. 12面魔方公式图解法_三阶魔方公式符号图解V2.0(2017/12/15)_碧海风云
  13. 如何缓解焦虑?做好这5件事,让你不再焦虑
  14. 最新-手把手教Unity2017.3 Android Studio3.0.1 SDK接入教程含jdk和sdk环境配置
  15. Anolis OS 8.2 RC2 发行,支持飞腾、海光、兆芯、鲲鹏等芯片
  16. 微信头脑王者服务器,微信头脑王者提示query server failed问题解决方法
  17. 虚拟机安装报错-启动失败-Intel VT-x 处于禁用状态
  18. 别当工具人了,手摸手教会你 Jenkins !
  19. 估计标准误差syx_什么是判定系数r2和估计标准误差syx
  20. 关于启动nginx时报错:error while loading shared libraries: libpcre.so.1

热门文章

  1. Linux的触屏手势软件安装,Touchégg: Linux 上触摸板/屏的多指手势
  2. 5款常用移动Html5场景页面制作工具推荐
  3. 码农笔记3 | 在招聘会碰壁
  4. 【我的第一份开发工作】1.找工作前的经历
  5. 前端对接stripe支付,创建测试session_is
  6. YOLOV5识别成语点选验证码
  7. JZOJ 4639 Angel Beats!【NOIP2016提高组A组7.16】
  8. html如何获取滚动条,js如何来实现获取滚动条宽度(代码示例)
  9. linux mc服务器 mod_linux如何搭建mc服务器地址
  10. 二维码登录——原理区