接口到底能不能用来直接定义变量

接口到底能不能用来直接定义变量

社区

Web 开发 帖子详情 接口到底能不能用来直接定义变量 eisldkw 2020-08-28 11:28:40 定义接口:

public interface Hello {

void morning(String name);

}

编写实现类:

public class HelloWorld implements Hello {

public void morning(String name) {

System.out.println("Good morning, " + name);

}

}

创建实例,转型为接口并调用:

Hello hello = new HelloWorld();

hello.morning("Bob");

以上代码中 Hello hello 是不是 用接口定义了一个变量?

...全文

8623 10 打赏 收藏 接口到底能不能用来直接定义变量 定义接口: public interface Hello { void morning(String name); } 编写实现类: public class HelloWorld implements Hello { public void morning(String name) { System.out.println("Good morning, " + name); } } 创建实例,转型为接口并调用: Hello hello = new HelloWorld(); hello.mor 复制链接

扫一扫 分享 转发到动态 举报 AI 作业

写回复 配置赞助广告取 消

确 定

用AI写文章 10 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 s478853630 2020-08-31 打赏举报 回复 引用 楼主 eisldkw 的回复:定义接口:

public interface Hello {

void morning(String name);

}

编写实现类:

public class HelloWorld implements Hello {

public void morning(String name) {

System.out.println("Good morning, " + name);

}

}

创建实例,转型为接口并调用:

Hello hello = new HelloWorld();

hello.morning("Bob");

以上代码中 Hello hello 是不是 用接口定义了一个变量?

最近接手一个别人的项目,service层每个接口只有一个实现类,感觉这种写法好鸡肋,

只有一个实现类还整一个接口,根本体现不了多态,还增加工作量,哎..... onePiece_God 2020-08-30 打赏举报 回复 引用 8 楼 活在梦里吗的回复:[quote=引用 5 楼 一个帅逼 的回复:][quote=引用 1 楼 水边2 的回复:]声明一个变量为接口类型,当然是没问题的。

但是new 接口() 就不行了。接口也可以new,只是要当场实现接口方法[/quote]

当场实现接口方法就不是new接口了[/quote]

匿名内部类,lambda表达式,方法引用都是这样吧,是接口的实现, 活在梦里吗 2020-08-29 打赏举报 回复 引用 5 楼 一个帅逼 的回复:[quote=引用 1 楼 水边2 的回复:]声明一个变量为接口类型,当然是没问题的。

但是new 接口() 就不行了。接口也可以new,只是要当场实现接口方法[/quote]

当场实现接口方法就不是new接口了 qybao 2020-08-28 打赏举报 回复 是的,hello变量是Hello接口类型,但它引用的是HelloWorld对象

qq_39936465 2020-08-28 打赏举报 回复 引用 楼主 eisldkw 的回复:定义接口:

public interface Hello {

void morning(String name);

}

编写实现类:

public class HelloWorld implements Hello {

public void morning(String name) {

System.out.println("Good morning, " + name);

}

}

创建实例,转型为接口并调用:

Hello hello = new HelloWorld();

hello.morning("Bob");

以上代码中 Hello hello 是不是 用接口定义了一个变量?

这个就是多态。 游北亮 2020-08-28 打赏举报 回复 声明一个变量为接口类型,当然是没问题的。

但是new 接口() 就不行了。

清欢无白茶 2020-08-28 打赏举报 回复 父类引用指向子类对象就是多态; 游北亮 2020-08-28 打赏举报 回复 引用 5 楼 一个帅逼 的回复:[quote=引用 1 楼 水边2 的回复:]声明一个变量为接口类型,当然是没问题的。

但是new 接口() 就不行了。接口也可以new,只是要当场实现接口方法[/quote]

那只是语法糖,实际上也是定义了一个匿名类,实现接口而已。 一个帅逼 2020-08-28 打赏举报 回复 引用 1 楼 水边2 的回复:声明一个变量为接口类型,当然是没问题的。

但是new 接口() 就不行了。接口也可以new,只是要当场实现接口方法 一个帅逼 2020-08-28 打赏举报 回复 这个叫引用转型,也是java多态的表现

List list;

if (...) {

list = new ArrayList<>();

} else {

list = new Vector<>();

}

list.add(1);

你可以定义一个变量为L顶层接口,通过不同业务来创建不同的实现 java接口文件中定义变量的简介说明 java 接口文件中定义变量的方法分享 为什么接口中不能定义变量(oop设计原理) JAVA语法规定,接口中的变量默认自动隐含是public static final!

为什么需要这样定义?

接口的目的

OOP中一个很重要的概念就是封装,对象可以通过public interface的设计,来提供一系列方法,让用户能够利用利用对象来完成需要的任务。然而,内部的实现细节对用户是隐藏的,目的是为了对具有共同特点的类,能够用相同的方法来使用 定义接口类型的引用变量有什么好处? 1, 在定义一个引用变量时, 心里想的应该是:我在这里需要一个什么样的功能,我是因为需要什么功能才创建变量的! 接口定义了功能的集合! 所以我应该是用接口来定义这个引用变量嘛!

2, 定义好了引用变量以后, 要让它引用一个对象, 这个对象就应该是实现了那个接口的类的实例了! 随便一个类, 只要它继承实现了那个接口, 那么它的实例都可以在这里被引用. Kotlin(一):定义变量 JAVA

在Java中如果想要定义一个变量,需要在变量前面声明这个变量的类型,比如说int a表示a是一个整型变量,String b表示b是一个字符串变量,例如

int a;

String b

Kotlin

很简单只允许在变量前声明两种关键字:val和var。例如:

vala

var b

说明:

val(value的简写)用来声明一个不可变的变量,这种变量在初始赋值之后就再也不能重新赋值,对应Java中的final变量。

var(variable的简写)用来声明一个可变的变量,这种变量在初始赋. 接口测试工具-Apipost变量的定义和使用 什么是变量?

对于一些常见的参数,我们可以将其定义成变量,以便达到一处改动,全部改动的目的。

例如我们请求的URL域名,完全可以将其设置为变量,在URL栏只输入路由即可。这样的话,我们可以通过控制变量的值,来达到请求不同域名、相同路由的API接口(比如可以用来快速切换开发环境和生产环境)。

如下图所示,我们将域名定义成了变量:url。

怎么定义变量?

ApiPost V5支持 2 种方式来定义变量:预定义和脚本定义。我们分别来讲。

1、ApiPost预定义变量

点击右上角的环境管理器,点击【新建环境】,此

Web 开发

81,122

社区成员

341,744

社区内容

发帖 与我相关 我的任务 Web 开发 Java Web 开发 复制链接

扫一扫 分享 确定 社区描述 Java Web 开发 社区管理员

加入社区

获取链接或二维码

近7日

近30日

至今

加载中

查看更多榜单

社区公告

暂无公告 试试用AI创作助手写篇文章吧

+ 用AI写文章

相关推荐

手指被重物砸肿胀发紫怎么办
阿里巴巴为什么那么牛
《DNF》和CF上线时间比较
《晋书·罗含传》原文及翻译