ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础知识整理(部分)

2022-08-19 00:32:15  阅读:169  来源: 互联网

标签:重写 Java 子类 接口 基础知识 线程 整理 父类 方法


继承的本质是对某一类的抽象,从而实现对现实世界更好的建模

1.extends的意思是扩展,子类是父类的扩展
2.Java中类只有单继承,没有多继承

在Java中,所有类都默认直接或间接继承Object类,Object是所有类的父类
子类继承了父类,就会拥有父类的全部方法

super注意点
1.super调用父类的构造方法,必须在构造方法的第一个
2.super必须只能出现在子类的方法或者构造方法中!
3.super和 this 不能同时调用构造方法!

VS this
代表的对象不同:
this:本身只调用这个对象
super:代表父类对象的应用
前提
this:没有继承也可以用
super:只能在继承条件下才可以使用
构造方法
this();本类的构造
super();父类的构造!

重写:需要有继承关系,子类重写父类的方法
1.方法名必须相同
2.参数列表必须相同
3.修饰符:范围可以扩大但不能缩小 public>protected>default>private
4.抛出的异常,范围,可以缩小,但不能扩大: ClassNotFoundException-->Exception(大)

重写:子类的方法和父类必要一致(方法名,方法修饰,结构):方法体不同

为什么要重写:
1.父类的功能,子类不一定需要,或者不一定满足
Alt + insert :override(重写)---子类重写快捷键(在idea)中

多态的注意事项:
1.多态是方法多态,属性没有多态
2.父类和子类有联系, 类型转换异常! ClassCastException!
3.多态存在条件:
(1)继承关系
(2)方法需要重写
(3)父类的引用指向子类对象!Father f1 = new Son();

1.static 方法,属于类,它不属于实例
2.final 常量
3.private 方法:私有的

instanceof (类型转换) 引用类型

//抽象类:类 extends -- 单继承 (接口可以多继承)
public abstract class Action {

//约束--有人帮我们实现
//abstract,抽象方法,只有方法名字,没有方法的实现
public abstract void doSomething();

//1.不能new这个抽象类,只能靠子类去实现它,约束!
//2.抽象类中可以写普通的方法
//3.抽象方法必须在抽象类中
//抽象的抽象:约束

//抽象类中可以用new 对象? 存在构造方法?
//存在的意义 ---抽象出来,提高开发效率

接口  关键字interface,接口只定义一些方法,接口都需要实现类来实现定义的这些抽象方法
/*
声明类的关键字是class,声明接口的关键字是interface
普通类:只有具体实现
抽象类:具体实现和规范(抽象方法)都有!
接口:只有规范!自己无法写方法-专业的约束!约束和实现分离:---面向接口编程
接口的本质是契约
接口作用:
1.约束
2.定义一些方法,让不同的人实现
3.接口中的方法都是抽象的public abstract(编写时一般省略public abstract,系统自动识别,写出来也是灰色的)
4.接口中定义的常量都是public static final
5.接口不能被实例化~,接口中没有构造方法
6.接口可以被多实现,实现接口的关键字,implements
7.实现接口的类,必须要重写接口中的方法

进程:一个进程里包含多个线程,程序运行起来就叫进程
线程:线程是程序中执行的线程

创建线程的方式一:继承Thread类,重写run()方法,调用start开启线程
/*
步骤:
1,自定义线程类继承Thread类
2.重写run()方法,编写线程执行体
3.创建线程对象,调用start()方法启动线程
*/
//总结==注意,线程开启不一定立即执行,有CPU调度执行

创建线程方式2:实现Runnable接口
//重写run方法,执行线程需要丢人runnable接口实现类,调用start方法
/*
步骤
1.定义MyRunnable类实现runnable接口,
2.实现run()方法,编写线程执行体
3.创建线程对象,调用start()方法启动线程

标签:重写,Java,子类,接口,基础知识,线程,整理,父类,方法
来源: https://www.cnblogs.com/CaiDingChao/p/16600614.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有