首页 > 编程语言 >Java基础知识整理(部分)

Java基础知识整理(部分)

时间:2022-08-19 00:24:07浏览次数:63  
标签:重写 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,子类,接口,基础知识,线程,整理,父类,方法
From: https://www.cnblogs.com/CaiDingChao/p/16600614.html

相关文章

  • JAVA之线程及多线程实现
    java的线程是什么1线程是一个程序的一条执行路径。我们之前启动程序后。main方法其他是一条独立的执行路径。2JAVA的多线程JAVA的多线程是指从软硬件实现多条执行路......
  • 学习javaweb第1天(数据库连接池)
    10.9、数据库连接池池化技术:准备一些预先的资源,过来就连接预先准备好的数据库连接池实现:标准接口:DataSourse官方(sun)提供的数据库连接池标准接口,由第三方组织实现此接......
  • 03.Javascript学习笔记2
    1.逻辑运算符在javascript中与或非对应的逻辑运算符是:&&||!consta=true;constb=false;console.log(a&&b);console.log(a||b);console.log......
  • Java基础语法(一)
    Java基础语法(一)一、注释注释并不会被执行,是给写代码的人看的,书写注释是一个很好的习惯!1、单行注释//单行注释:注释一行文字2、多行注释/*注释文字*/3、文档注释......
  • java中23种设计模式
    一、设计模式分类1.设计模式分类  2.设计模式特点单例模式:某个类只能有一个实例,提供一个全局的访问点。简单工厂:一个工厂类根据传入的参量决定创建出那一种产品类......
  • Java 可重入锁的那些事(一)
    本文主要包含的内容:可重入锁(ReedtrantLock)、公平锁、非公平锁、可重入性、同步队列、CAS等概念的理解显式锁......
  • javascript 数据类型
    值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、未定义(Undefined)、Symbol(ES6引入了一种新的原始数据类型,表示独一无二的值)。特殊的值:未定义(Undefined)引......
  • java邮件发送
    java邮件发送一、JavaMail介绍1、概述JavaMail是利用现有的邮件账户发送邮件的工具,比如我在网易注册一个邮箱账户,通过JavaMail的操控,我可以不亲自登录网易邮箱,让程序自......
  • SpringBoot之发送邮件(手把手教你通过Java发送邮件)
    SpringBoot之发送邮件(手把手教你通过Java发送邮件)前言我们都知道,在使用一个新的APP时经常需要我们注册,注册时需要我们输入手机号然后接受验证码,当然还有一类是需要......
  • 数据库的基础知识和基本操作
    一.初识数据库中表的数据类型数值:1.int2.金融行业中:decimal类型字符串1.varchar可变字符串常用变量2.text大型文本保存大文本 时间日期j......