【Java类与对象】迅腾公司实例探索1(原创)
本帖最后由 dlnb526 于 2020-2-22 10:49 编辑【JAVA练习题】【索引贴】
https://fishc.com.cn/thread-157183-1-1.html
static/image/hrline/2.gif
最近在做how2j的Java练习,里面类与对象的所有题都通过王者荣耀的例子来解释练习,一方面担心转载后会有侵权的问题,另一方面为了加强自己对类和对象的理解,因此我自己尝试虚拟化一个迅腾公司,来替换JAVA练习题中的内容。
本节涉及内容:
引用,继承,方法重载,构造方法
大家好,我是金主爸爸——迅腾集团的代表,在我的旗下有很多不同的集团分管不同的业务。今天作为金主爸爸的我现身说法来告诉大家一些类和对象的内容。
资料载入中……
引用:
金主爸爸我是一家互联网公司,我掌控着很多的软件。
public class Software {
String name; //产品名称
String version; //产品版本
float profit; //产品盈利
String cate; //产品类型
public static void main(String[] args) {
//创建一个对象
new Software();
//使用一个引用来指向这个对象
Software TT = new Software();
//一个类可以被多个对象引用
Software WC = new Software()
}
}
练习:
如代码,问题:
h4所指向的对象和h2所指向的对象,是否是同一个对象?
public class Software {
String name; //软件名称
String cate; //软件类型
public static void main(String[] args) {
Software s1 =new Software();
Software s2 =new Software();
Software s3;
Software s4;
s3=s1;
s4=s3;
}
}
**** Hidden Message *****
继承:
其实很久以前就有人抱怨我们的软件并不是那么好用,哎可是产品经理苦思冥想也没什么好办法。
终于有一天,一个叫小甲鱼的帅气员工说{:10_327:} ,我们可以从软件的基础上软硬件结合步入互联网+新时代!
互联网+(Intp)的项目继承了Software的全部属性
如果不用继承的方式:
public class Intp{
String name; //产品名称
String version; //产品版本
float profit; //产品盈利
String cate; //产品类型
}
现在我们直接继承自Software,并且添加了硬件类型
public class Intp extends Software{
String Hardware;
public static void main(String[] args) {
Intp item1 = new Intp();
Intp.name = homesucu; //这是一个家庭安全的项目
Intp.version = "1.0.0";
Intp.profit =12.4;
Intp.cate = "Security" ;//它的分类就是安防
Intp.Hardware = "camera" ;//所需要的硬件就是摄像头啦!
练习:
软件可以在不同平台运行,下面设计一个运行在VR平台的软件类(VR_Software)继承自Software 类。
他有一个新的属性:Vr_brandvr品牌
实例化两个Vr软件
名称:沙滩美女
版本:2.1.0
产品类型:game
vr品牌:Vive
名称:vr视频
版本:3.5
产品类型:video
vr品牌:Oculus
**** Hidden Message *****
方法重载
比如我们迅腾就有一个DouMusic视频软件,可以传入User类连麦
所以传入关于软件用户参数可以
public void chatwith();//不连麦
public void chatwith(User u1);
public void chatwith(User u1,User u2);//可以和很多人连麦
方法名是一样的,但是参数类型不一样,所以当开始使用后调用的系统资源多少也就不一样
如果要传入更多的参数就要设计更多的方法,我们可以传入可变数量的参数
public void chatwith(User ...users)
这样当我们要同时和很多人连麦可以传入很多参数
练习:完善DouMusic,为了简单起见,它继承自Software类。他里面肯定会有连麦的方法。
因此你还需要创建一个User类,你觉得里面应该传入什么参数呢?
**** Hidden Message *****
构造方法
通过一个类创建一个对象,这个过程叫做实例化
实例化是通过调用构造方法(又叫做构造器)实现的
当我们通过关键字new来创建对象时,其实就是调用构造方法。
在我们公司年度总结的时候,发现每次发布软件都要传入好多好多参数,最佳员工小甲鱼觉得可以在实例化的时候把很多参数都传进去{:10_281:}
构造方法定义格式:
修饰符 方法名()
{
}
如果不写构造方法,系统默认会提供一个无参的
public Software(){
}
如果我们构造一个包含名字的构造方法
public Software(String software_name){
name = software_name;
}
构造方法也可以重载
public Software(String software_name){
name = software_name;
}
public Software(String software_name,float software_profit){
name = software_name;
profit = software_profit;
}
构造方法和方法的类似之处在于它们都包含可执行代码,
区别在于,只有当Java类实例化时才执行构造方法。构造方法通常包含类属性初始化代码,从严格意义上说,构造方法并不是方法,因为它不会返回任何值。
static/image/hrline/5.gif
练习:还记得刚才构建的User类吗?
下面我们来给他鼓捣出三种不同的构造方法
**** Hidden Message ***** {:10_324:}
页:
[1]