7/22学习总结
2021/7/22 23:14:21
本文主要是介绍7/22学习总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
抽象类
在所有的面向对象概念中,所有的对象都是通过类来描述的,但也存在类不能描述对象,那就是抽象类。(抽象类不能将对象实例化)
抽象类除了不能将对象实例化之外,都和普通类一样(成员变量、成员方法)
因为抽象类不能将对象实例化,所以抽象类不能直接在主类中调用,只能被继承来实现它的作用
java中一般用abstract class来定义抽象类
//文件名为abstractclass.java public abstract class abstractclass { private String name; private String sex; public abstractclass (String name,String sex){ System.out.println("The peole's information"); this.name = name; this.sex = sex; } public String toString(){ return name+" "+sex; } public static class student extends abstractclass{ private String school; student(String name, String sex) { super(name, sex); } public String setSchool(){ return school; } public void getSchool(String school){ this.school = school; } } public static void main(String[] args) { student stu = new student("yang","女"); stu.getSchool("吉首大学"); System.out.println("姓名 性别 学校\n"+stu.toString()+" "+stu.setSchool()); } }
抽象方法
如果你想定义一个 包含一个特别的成员方法,该方法的具体实现由它的子类确定的 类,那你就可以定义该方法为抽象方法。
用abstract申明抽象方法,抽象方法只包含一个方法名,没有方法体抽象方法没有定义,方法名后面跟一个分号,不是花括号
public abstract class abstractclass { private String name; private String sex; public abstract String abstractway(); // }
抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类
抽象类中的抽象方法只是声明,不包含方法体,就是不给出也就是方法的具体功能
抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。
java接口
接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合。
接口通常以interface来声明。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。
一个接口可以有多个方法,接口中的方法不能在接口中实现,只能由实现接口的类来实现接口中的方法
接口与类的区别:
- 接口不能实例化对象
- 接口中没有构造方法
- 接口只能包含static和final修饰的成员变量
- 接口不是被类继承,是要被类实现
- 接口支持多继承
接口和抽象类的区别:
- 抽象类中的方法可以有方法体,但是接口中的方法不行。
- 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
- 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
- 一个类只能继承一个抽象类,而一个类却可以实现多个接口。
多线程
Thread类
Thread类是什么?
Thread 类是线程的描述类,每个线程都有一个 Thread 对象与之关联。Thread 类是 JVM 用来管理线程的一个类。每个线程都有一个唯一的 Thread 对象与之关联。
Thread类的常见构造方法:
Thread() | 创建线程对象 |
Thread(Runnable target) | 使用 Runnable 对象创建线程对象Thread()创建线程对象 (target 为描述任务的对象) |
Thread(String name) | 创建线程对象并命名 |
Thread(Runnable target , String name) | 使用 Runnable 对象创建线程对象并命名 |
start() | 启动一个线程 |
run() | 不需要用户来调用(继承Thread类必须重写run方法,在run方法中定义具体要执行的任务) |
sleep(long millis) | 相当于让线程进入阻塞状态,交出CPU,让CPU去执行其他的任务。(参数是毫秒) |
sleep(long millis,int nanoseconds) | 参数是毫秒,纳秒,即让线程睡眠的时间 |
一个线程的生命周期
线程是一个动态执行的过程,它也有一个从产生到死亡的过程
这篇关于7/22学习总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南
- 2024-11-16MyBatisX资料:新手入门与初级教程
- 2024-11-16RESTful接口资料详解:新手入门指南