Day24 - 面向对象编程OOP 05
2021/7/6 22:35:03
本文主要是介绍Day24 - 面向对象编程OOP 05,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. static关键字详解
1.1 static -- 静态变量与静态方法
private static int age; //静态的变量 类在内存中只有一个;如果想让多个实例同时能操作该变量则定义static 多线程! private double score; //非静态的变量 public void run(){ } //静态方法,同一个类里可以直接调用 //但是静态方法无法直接调用非静态方法,因为加载时还不存在 public static void eat(){ } public static void main(String[] args) { Student s1 = new Student(); Student.eat(); eat(); }
1.2 静态代码块
//2 { //代码块(匿名代码块) 程序在执行时无法主动调用,创建对象时自动创建,并且在构造器之前 System.out.println("匿名代码块"); } //1 static { //静态代码块 类创建的时候就执行,永久只执行一次 System.out.println("静态代码块"); } //3 public Person(){ System.out.println("构造方法"); } public static void main(String[] args) { Person person1 = new Person(); System.out.println("===================="); Person person2 = new Person(); //结果只有“匿名代码块”和“构造器”,因为 //静态代码块只执行一次 }
1.3 静态导入包
example:
import static java.lang.Math.random; import static java.lang.Math.PI; public class Test { public static void main(String[] args) { System.out.println(random()); System.out.println(PI); } }
2. 抽象类
abstract修饰符可以用来修饰方法也可以修饰类
- abstract 方法名 --> 抽象方法;
- abstract 类名 --> 抽象类
抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类
抽象类:不能使用new关键字来创建对象,它是用来让子类继承的
抽象发方法:只有方法的声明,没有方法的实现,它是用来让子类实现的
子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则子类也要声明为抽象类
3. 接口
- 普通类:只有具体实现
- 抽象类:具体实现和规范(抽象方法)都要
- 接口:只有规范,无法写方法 -- 专业的约束!!约束和实现分离
- 接口的本质是契约
- 声明类的关键字是class,声明接口的关键字是interface
例:
public interface UserService { //接口中的所有定义其实都是抽象的 public abstract void add(String name); void delete(String name); void update(String name); void query(String name); } public interface TimeService { void timer(); }
抽象类:extends
类 可以实现接口 implements 接口名
实现了接口的类,就需要重写接口中的方法
多继承~利用接口实现多继承
public class UserServiceImpl implements UserService, TimeService{ @Override public void add(String name) { } @Override public void delete(String name) { } @Override public void update(String name) { } @Override public void query(String name) { } @Override public void timer() { } }
- 接口的作用总结
- 起约束作用
- 定义一些方法,让不同的人实现
- 所有的方法:public abstract
- 所有的属性:public static final
- 接口不能被实例化,接口中没有构造方法
- implements可以实现多个接口,实现多继承
- 实现接口的类必须要重写接口中的方法
这篇关于Day24 - 面向对象编程OOP 05的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-20接口模块封装入门教程
- 2024-09-20请求动作封装入门教程
- 2024-09-20登录鉴权学习:新手入门教程
- 2024-09-20后台管理开发学习:新手入门指南
- 2024-09-20后台管理系统开发学习:从入门到实践
- 2024-09-20后台开发学习:从入门到初级实战指南
- 2024-09-20后台综合解决方案学习:从入门到实践
- 2024-09-20接口模块封装学习入门指南
- 2024-09-20请求动作封装学习:新手入门教程
- 2024-09-20登录鉴权入门:打造安全的用户认证系统