java中类作为成员变量类型使用、接口作为成员变量类型使用、接口作为方法的参数或返回值使用

类作为成员变量类型使用

自定义的类也可以作为成员变量使用,如:

// 1.创建一个电脑角色的类:
public class Computer{private String computername;//定义电脑名称,String类型底层实际就是一个类,是java作者编写的类,因此我们可以自己编写类给成员变量使用。// 3.使用Mouse类作为Computer类的成员变量:private Mouse mousename;//电脑配备的鼠标// 6.定义一个方法测试Mouse类型(class作为成员变量类型)作为成员变量使用:public void infortest(){System.out.println(computername + "电脑配备了"+ mousename.getMousename() + "正在搬砖");//灵越电脑配备了双飞燕鼠标正在搬砖};public Computer(){};//无参构造public Computer(String computername,Mouse mousename){//全参构造this.computername = computername;this.mousename = mousename;};public String getComputername(){return computername;};public void setComputername(String computername){this.computername = computername;};public Mouse getMousename(){return mousename;};public void setMousename(Mouse mousename){this.mousename = mousename;};
}
// 2.定义一个鼠标的类:
public class Mouse{private String mousename;//鼠标名称public Mouse(){};//无参构造public Mouse(String mousename){//有参构造this.mousename = mousename;};public String getMousename(){//get-方法return mousename;};public void setMousename(String mousename){//set-方法this.mousename = mousename;};
};
// 4.创建一个用来实现Computer类的实例对象:
public class Computerobj{public static void main(String[] args){// 创建一个电脑对象:Computer computer = new Computer();computer.setComputername("灵越");// 创建一个鼠标对象:Mouse mouse = new Mouse("双飞燕鼠标");// 5.为电脑配备鼠标:computer.setMousename(mouse);// 7.调用computer的测试方法infortest:computer.infortest();//灵越电脑配备了双飞燕鼠标正在搬砖};
};

接口作为成员变量类型使用

类可以作为成员变量类型使用,接口也是可以作为成员变量使用的,如:

// 1.定义一个电脑类:
public class Computer{private String computername;//电脑名称private Keyboard keyboardname;//键盘名称// 5.进行测试:public void useKeybord(){System.out.print(computername+"电脑配备了");keyboardname.use();//调用接口中的抽象方法输出了:苹果电脑配备了双飞燕键盘,正在进行搬砖};public Computer(){};public Computer(String computername,Keyboard keyboardname){this.computername = computername;this.keyboardname = keyboardname;};public String getComputername(){return computername;};public void setComputername(String computername){this.computername = computername;};public Keyboard getKeyboardname(){return keyboardname;};public void setKeyboardname(Keyboard keyboardname){this.keyboardname = keyboardname;};
};
// 2.定义一个键盘接口:
public interface Keyboard{void use();
};
// 3.定义一个接口的实现类Keyboardimpclass:
public class Keyboardimpclass implements Keyboard{@Overridepublic void use(){System.out.println("双飞燕键盘,正在进行搬砖");};
};
// 4.创建有一个Computer的对象:
public class ComputerObjTest{public static void main(String[] args){Computer computer = new Computer();computer.setComputername("苹果");//设置电脑名称computer.setKeyboardname(new Keyboardimpclass());//给电脑配备键盘,这里创建了实现类对象,也可以使用匿名对象类,如:/*  Keyboard keyboard = new Keyboard(){@Overridepublic void use(){System.out.println("双飞燕键盘正在被用来搬砖");};};computer.setKeyboardname(keyboard); *//* 除上面外,还可以直接传入一个接口,如:computer.setKeyboardname(new Keyboard(){@Overridepublic void use(){System.out.println("双飞燕键盘正在被用来搬砖");};});*/computer.useKeybord();//电脑使用键盘};
};

接口作为方法的参数或返回值使用

import java.util.ArrayList;
import java.util.List;
public class Listinterface{public static void main(String[] args){List<String> list = new ArrayList();List<String> result = addNames(list);for(int i = 0;i <= result.size();i++){System.out.println(result.get(i));}};// 定义了一个既有参数又有返回值的方法:public static List<String> addNames(List<String>list){list.add("成员1");list.add("成员2");list.add("成员3");return list;}
}

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python django restful框架_python+django+rest框架配置创建方法

安装好所需要的插件和包&#xff1a;python、django、pip等版本如下&#xff1a;采用Django REST框架3.01、在python文件夹下D:\python\Lib\site-packages\django\bin打开cmd命令工具,本人将python文件夹名字改为了wwj,请注意:mkdir tutorialcd tutorialvirtualenv envsource e…

a标签获取input值_HTML5常用标签

一.HTML文档标签<!DOCTYPE>: 定义文档类型.<html>: 定义HTML文档.<head>: 定义文档的头部.(头部内包含)(1). <meta>: 定义元素可提供有关页面的元信息&#xff0c;比如针对搜索引擎和更新频度的描述和关键词. (2). <base>:定义页面上的所有链接规…

【Python3】POP3协议收邮件

初学Python3&#xff0c;做一个email的例子&#xff0c;虽然知道做的很渣渣&#xff0c;还是分享一下吧POP3协议POP3全称Post Official Protocol3&#xff0c;即邮局协议的第三个版本&#xff0c;它规定了怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议&…

发红包案例(RedPacketFrame简介)

发红包案例&#xff1a; 案例目录结构如下&#xff08;red包为第三方包&#xff0c;需要的话可以到网上自行下载或私信我邮箱即可&#xff09;&#xff1a; // 1.这里将借用发红包的框架&#xff1a;RedPacketFrame&#xff08;图形界面化&#xff09;&#xff0c;OpenMode处…

easy connect 获取服务端配置信息失败_如何统计 Mysql 服务器状态信息?

最近在看《高性能的 Mysql》一书&#xff0c;下面是关于如何学习统计 Mysql 服务器状态的学习总结&#xff0c;主要是学习使用 SHOW STATUS&#xff0c;SHOW ENGINE INNODB STATUS&#xff0c;SHOW PROCESSLIST&#xff0c;SHOW PROFILE 四个命令。命令一&#xff1a;SHOW STAT…

共聚焦图片怎么加标尺_科研教程|利用PS给电镜加标尺

一、开篇前言大家好&#xff0c;大飞鸽就是我&#xff0c;我就是大飞鸽。我们拍摄的SEM或者TEM上都会有放大倍数、加速电压、标尺、电镜信号、拍摄时间等信息&#xff0c;然而正常情况下我们需要的只有标尺这个信息。例如下方这个电镜图为SEM图片&#xff0c;图片下方包含了放大…

感觉又学到了不少,在这里写下来,但也有一个问题,不知道是为甚吗?

今天具体学习了如何去访问和修改HTML元素的内容与样式&#xff0c;也就是DOM中的节点 在这里有三种方法&#xff1a; 通过使用 getElementById() 方法通过使用 getElementsByTagName() 方法通过使用 getElementsByClassName() 方法• getElementById()方法&#xff1a;返回带有…

java中Object和Objects类、toString方法和equals方法介绍

Object类&#xff1a; Object类位于java.lang包中&#xff0c;lang包下的类无需导包就可以使用&#xff0c;object是Java语言中的根类&#xff0c;即所有类的父类。Object中描述的所有方法其子类都可以使用。在对象实例化的时候&#xff0c;最终找的父类就是Object。 如果一个…

实现线段切割法_切割晶圆及玻璃产品的现代技术与设备

作者&#xff1a;韩卓申科VS1,2&#xff0c;伊凡诺夫VI3&#xff0c;吕鸿图2,4&#xff0c;纳乌莫夫A S2,4&#xff0c;王薇媛4摘要&#xff1a;由于需以各种非金属半导体材料晶圆制造使用价值低之微电子产品&#xff0c;对其加工高精度及品质改善的要求更为严苛&#xff0c;因…

学python最重要的是_Python学习,要选哪个版本?

纵观各大编程语言在 2017 年的发展情况&#xff0c;我们会发现涌现出诸如 Go、Swift 这类后起之秀&#xff0c;而其中最为耀眼的当属 Python。之所以 Python 如此受捧&#xff0c;不仅仅是人工智能、数字科学领域的兴起&#xff0c;而且与其自身的特性必不可分&#xff0c;正应…

ARX中实现实体的偏移

static AcDbObjectId OffsetEnty(const ACHAR* BlkName,AcDbObjectId entId,double OfsValue,AcDbDatabase *pDbCrtEntity:: pPurDb); //&#xff01;&#xff08;多段线特别处理&#xff09; AcDbObjectId EditEntity::OffsetEnty(const ACHAR* BlkName,AcDbObjectId entId,do…

java中Date类、DateFormat及SimpleDateFormat简介

Date类&#xff1a; Date类表示日期和时间&#xff0c;精确到毫秒&#xff08;千分之一秒&#xff09;位于java.util.Date下。日期是可以计算的&#xff0c;其本质是利用毫秒值进行计算&#xff0c;任何一个时间点都可以转换为毫秒值&#xff0c;毫秒值表示一个瞬间。 时间原…

gettype获取类名_在TypeScript中运行时获取对象的类名

在TypeScript中运行时获取对象的类名是否可以使用typescript在运行时获取对象的类/类型名称&#xff1f;class MyClass{}var instance new MyClass();console.log(instance.????); // Should output "MyClass"Adam Mills asked 2019-04-11T03:14:30Z9个解决方案…

LeetCode-Maximal Rectangle-最大矩形

https://oj.leetcode.com/problems/maximal-rectangle/ 一堆0,1矩阵中计算出由1组成的长方形的最大面积。 使用了直方图求最大面积的算法。枚举每一行p&#xff0c;然后在将一行上的所有列看做朝i>p方向出发的直方图&#xff0c;然后在这个直方图上用栈存储递增序列的那个一…

cefsharp 加载网页慢_网站访问慢的排查方案(史上最详细)

说实话&#xff0c;比起网站打不开&#xff0c;网站访问慢更让人抓狂。因为造成网站访问慢的因素太多了&#xff0c;一般用户根本无从下手&#xff01;任他千头万绪的问题&#xff0c;从以下三个方面入手&#xff0c;也能轻松破解访问慢的大难题 &#xff1a;响应时间、执行时间…

java中日历类:Calendar

Calendar日历类 该类为抽象类&#xff0c;将所有可能用到的时间信息封装为静态成员变量&#xff0c;方便获取时间属性&#xff0c;其位于java.util.Calendar&#xff0c; 其中的getInstance方法可以返回一个Calendar类的子类对象&#xff0c;可以直接使用次子类进行创建对象&am…

typescript语法高亮插件_vscode常用插件

插件介绍HTML Snippets > 初级H5代码片段及提示HTML CSS Support > 初级H5代码片段及提示Debugger for Chrome > 让 vscode 映射 chrome 的 debug功能&#xff0c;静态页面都可以用 vscode 来打断点调试jQuery Code Snippets > jquery 重度患者必须品&#xff0c;废…

cfree运行程序错误_C/C++程序调试和内存检测

程序出现错误很正常&#xff0c;一个优秀的程序员必须学会调试&#xff0c;发现错误并改正。减少程序错误最有效的方法是&#xff1a;在敲代码之前&#xff0c;多花点时间思考&#xff0c;如何构造程序&#xff0c;数据结构和算法&#xff0c;尽量把细节提前写下来&#xff0c;…

java中System类、String Builder类简介

System类&#xff1a; System类为系统类&#xff0c;此包位于java.lang.System下&#xff0c;可以获得与系统相关的信息或系统操作&#xff0c;如&#xff1a; public class SystemClass{public static void main(String[] args){// 1.System下有许多静态的方法&#xff0c;其…

session的removeattribute移除一个不存在的属性会怎么用_公认峡谷机制最完美,对线几乎无解,夏侯惇高端局为何火不起来?...

Hello各位亲爱的小伙伴们&#xff0c;大家好&#xff0c;我是沐辰。在王者荣耀中始终有这么一个说法&#xff1a;“夏侯惇是王者峡谷机制最完美的英雄”&#xff0c;当然这个可不是沐辰胡编乱造&#xff0c;而是策划在数年前就曾公开发表过的看法。从机制上来&#xff0c;夏侯惇…