首页 > 其他分享 >接口,内部类

接口,内部类

时间:2023-07-06 13:57:08浏览次数:27  
标签:String name void 接口 public class 内部

接口

接口

  1. 普通类:只有具体实现
  2. 抽象类:具体实现和规范(抽象方法)都有!
  3. 接口:只有规范!自己无法写方法专业的约束!约束和实现分离:面向接口编程
  4. 接口就是规范,定义的是一组规则,体现了现实世界中“如果你是.….则必须能..”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你好人,则必须干掉坏人;如果你是坏人,
    则必须欺负好人。
  5. 接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。
  6. OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如c++、java、c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。
  • 声明类的关键字是class,声明接口的关键字是interface

作用:

  1. 约束

  2. 定义一些方法,让不同的人实现~10--->1

  3. public abstract

  4. public static final

  5. 接口不能被实例化,接口中没有构造方法~

  6. implements可以实现多个接口

  7. 必须要重写接口中的方法~

package com.oop.demo09;
//interface 定义的关键字,接口都需要有实现类
//抽象的思维  架构师
public interface UserService {
    //接口中所有的定义都是抽象的 public abstract是默认的
    void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);

    //属性为常量 public static final
    int age =99;
}
============
    package com.oop.demo09;

public interface TimeService {
    void timer();
}
===========
    package com.oop.demo09;
//抽象类: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() {

    }
}


内部类

  • 内部类就是在一个类的内部在定义一个类,比如,A类中定义一个B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了。
  • 1.成员内部类
  • 2.静态内部类
  • 3.局部内部类
  • 4.匿名内部类
package com.oop.demo10;

public class Outer {
    private int id=10;
    public void out(){
        System.out.println("这是外部类的方法");
    }
   public class Inner{
        public void in(){
            System.out.println("这是内部类的方法");
        }
        //获得外部类的私有属性
       public void getID(){
           System.out.println(id);
       }
    }
}
//一个Java类中可以有多个class类,但是只能有一个public class
class A{
    public static void main(String[] args) {

    }
        }
==============
 package com.oop.demo10;

public class Outer1 {
    //局部内部类
    public void method(){
        class Inner{

        }
    }

}
===========
    package com.oop.demo10;

public class Test {
    public static void main (String[] args){
        //没有名字初始化类,不用将实例保存到变量中
        new Apple().eat();
        new UserServise(){
            @Override
            public void hello() {

            }
        };
    }
}
class Apple{
    public void eat(){
        System.out.println("11");
    }
}
interface UserServise{
    void hello();
}
=============
    package com.oop;


import com.oop.demo10.Outer;

public class Application {
    public static void main(String[] args) {
        Outer outer = new Outer();
        //通过这个外部类来实例化内部类
        Outer.Inner inner = outer.new Inner();
        inner.in();
        inner.getID();//10
    }
}

标签:String,name,void,接口,public,class,内部
From: https://www.cnblogs.com/xin-zhi-suo-xiang/p/17531937.html

相关文章

  • 十万个为什么接口
    科普,知识,教育,少年儿童成长一、接口介绍以问题的形式来解密身边的科学,例如“天空为什么是蓝色的?”“人是怎么来的?”“太阳为什么能发光?”“鱼为什么能在水里呼吸?”等等。这些都是少年儿童成长过程中最常遇到的问题。适用于集合到家长使用类型软件,微信小程序,公众号等应用。二......
  • Spring Boot 调用外部接口的 3 种方式
    方式一:使用原始httpClient请求/* * @description get方式获取入参,插入数据并发起流程 * @author lyx * @date 2022/8/24 16:05 * @params documentId * @return String *///@RequestMapping("/submit/{documentId}")public String submit1(@PathVariable Str......
  • im私有化部署:保障企业内部数据安全与隐私的首选方案
    随着信息技术的迅猛发展,即时通讯(IM)已成为人们生活和工作中不可或缺的一部分。然而,随之而来的数据安全和隐私问题也日益突出。为了应对这一挑战,越来越多的组织和企业开始采用IM私有化部署方案,以保障数据安全与隐私。  IM私有化部署是指将即时通讯系统部署在企业自有的服务器......
  • 新增接口&页面布局
    1.新增1.1.新增接口1.2.观察前端页面我们需要在前端弄一个增加的对话框给新增的按钮绑定openEditUI方法效果(感觉右边太窄了)其他:......
  • [C#基础学习]内部类和分部类
    内部类没啥好说的,类嵌套类而已。classa{//sthclassb{//sthclassc{//sth}}}这个还是比较常用的,将数据详细定义清楚增加可读性分部类partialclass把一个类分成多个类写。partialclassman{//一些东西}pa......
  • 超全!阿里P7大佬内部首发Servlet详解笔记,掌握吃透只需2小时
     Servlet简介Servlet是运行在服务端的Java小程序,是sun公司提供的一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,通过java的API动态的向客户端输出内容。servlet规范:包含三个技术点1)servlet技术2)filter技术—过滤器3)listener技术......
  • 基于瑞芯微平台cif接口dvp相机的视频接入(ov2640、rv1126为例)
    名词定义CIF,指RK芯片中的VIP模块,用以接收Sensor数据并保存到Memory中,仅转存数据,无ISP功能DVP,一种并行数据传输接口,即DigitalVideoPortHSYNC,指DVP接口的行同步信号PCLK,指Sensor输出PixelClockVSYNC,指DVP接口的场同步信号V4L2,即Video4Linux2,Linuxkernel的视频处理模块 ......
  • 集合、Collection 接口、List接口
    集合、Collection接口、List接口集合的理解和好处前面,我们保存多个数据可以使用数组,但数组有不足的地方数组数组的长度创建时必须指定,而且一定指定,不能修改保存的必须为同一类型的元素使用数组进行增加/删除的代码比较麻烦Person[]pers=newPerson[1];pers[0]......
  • 用户列表查询接口
    1.UserController1:list的路径2:用户名(不是必须属性用required=false)3:电话号码(不是必须属性用required=false)4:分页参数(必填)5:每一页显示多少条(必填)6:定义一个条件构造器7:条件用户名(做一个非空判断)8:条件电话号码(做一个非空判断)9:new一个page对象10:......
  • 延迟队列服务提供对外接口
    延迟队列微服务:redis:list-执行时间<=当前时间   zset-当前时间<执行时间<当前时间+5分钟添加任务:【以防任务数量过大在,一旦服务器挂掉,内存所有的数据都消失了,所以要做数据持久化】添加任务到数据库、符合条件的任务添加到redis【list,zset......