【笨鸟先飞】Java重新学习日记5---类的使用

关于类的使用,一些简单知识的整理,看看有什么比较常用的,有意思的进行一下总结和梳理。

 

一个完整的类包括变量,方法,构造器。

 

先从变量的修饰谈起,

这是代码中一种必将常见的,有4个修饰的情况,一般很难修饰那么多。

Public static final int JAVA_STUDY=5;

 

Public是指封装的形式,面向对象的3大特征之一,这里修饰变量,是指这个变量可以再其他任何地方被调用。 同样的还有privateprotected,可以看上一章的内容。

 

Static是指静态参数,它的含义是可以在其他地方被类直接调用,static的参数是确实有必要,在某个地方,在不创建实例的情况下使用的。 甚至也可以有一个类里面就全是静态变量,用来供各个地方调用,当然在android开发里面,有个res文件夹,就是实现这种功能。

 

Final是指这个参数被赋值之后,不能在被更改,对于变量而言,有了final,我们就可以称之为常量了,他不会再变化了。

 

Int是数据类型,不多讲。

 

说这个例子本身的意义是规避魔术参数而形成的。

举个例子

Ifinput == 5{

内容;

}

看这个代码,你能准确感知到这个if是在判断什么吗?

如果换个写法

 

Ifinput == JAVA_STUDY{

内容;

}

这样是不是清晰多了。

 

规避魔术参数,是指在代码里面,尽量不使用数字来进行传递,而采用数字对应含义的名字,而名字在其他地方和数字绑定。

 

一般写变量的时候,最主要是写变量类型,往往是类,或者数据类型,然后考虑变量的使用范围,加上public或者private即可,且根据变量使用范围,只在方法中用的,就不要写在类里。

关于方法的修饰:

    方法约等于函数,方法是java的称呼,其特点是面向编程的特点,方法必须由对象或者类使用,是属于类或对象的。

方法的修饰和变量差不多,没有final,多了返回值。返回值可以是类或者数据类型,返回值只能有一个。大部分方法没有返回值,我们放上void来修饰,也有不少有返回值的,其中常见两种返回值一个是boolean类型,这是判断类方法,比如isExist,就是判断某个东西是否存在,返回true或者false。  还有一种返回就是get方法,可以get任何对象,以至于返回任何对象。

处理返回值,方法还有一个变量没有的修饰符,abstract,其含义是抽象方法,抽象方法用于抽象类和接口,接口和抽象类的目的都是被别的类所使用,继承或实现。 抽象方法也是为了被其他类所重写。

抽象方法里面应该是没有具体实现内容的,其实现内容,根据使用者的需要在方法中重新写出来。

抽象类就是为了被继承而存在,其本质也是将被多个类继承。

 

使用方法的时候,一定要有对象的概念,是对象(或者类)在使用这个方法。使用跨对象的方法的时候,首先方法一定不是private,其次,如果两个对象没有关系,一定要public的方法,且使用import将包添加到对象中。

这里涉及到package的概念,现在由于各类开发软件,Eclipseandroid studio等均自动添加import,所以这个概念现在就无限弱化了。

另外本身import这块,就是你要用,就要import,并没有算法难度,或者逻辑思考,是纯粹的代码格式,所以也不深究了。

在继承中,方法是能够,也期待被重写的,在继承中,同样的名字,同样的传入参数,对于子类,他的方法就是不一样的了。如果方法是完全改写,那就改写,但是实际上,正如继承的含义,这方法往往是扩写,是在父类方法干的事情上,多干一点。这种时候,java没让我们失望,java用了super.来调用父类的方法,这样不用再把父类的方法再来一遍。

 

构造器:

构造器是一个类的初始化工具,是类在创建的时候,用户期望他运行的部分。如果用户没有期望运行的部分了,这个时候,就有默认构造器了。也就是说,程序员是可以不写构造器的,这个时候就是默认构造器。默认构造器是很常用的,比如

Keyboard k1=newKeyboard();

这个Keyboard()其实就是默认构造器。构造器和方法的区别最主要是没有返回值,其次是构造器名字和类是一样的。

如果自己写构造器,那么就可以自己选择参数了。

Keyboard k1=newKeyboard( CPU );

比如这种,自己写的构造器,对于键盘需要传入外界的CPU才能正常运行。

同时,构造器也可以有多个,对于不同的传入使用不同的构造器,这种情况一般也是两类,常见是构造器参数呈现递增。

比如

PublicKeyboard(){

This(defaultCPU)

}

 

PublicKeyboard(CPU c1){

SetCPU(c1);

}

 

在有需求时传入特定CPU,如果没需求,则使用默认CPU,这是多个构造器的最常见手段。

实际在写的时候,正常情况是,先写PublicKeyboard(CPU c1),再将前面的补充进去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值