您的位置:首页 > 职场人生

黑马程序员——基础知识——静态

2015-11-05 20:57 405 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

Day07

07.01 构造方法Constructor概述和格式

1、构造方法概述和作用

给对象的数据(属性)进行初始化

2、构造方法格式特点

A方法名与类名相同(大小也要与类名一致)

B没有返回值类型,连void都没有

C没有具体的返回值return



07.02 构造方法的重载及注意事项

1、案例演示

构造方法的重载

重载:方法名相同,与返回值类型无关(构造方法没有返回值,只看参数列表)

有参构造的好处就是可以动态的给其进行赋值

2、构造方法注意事项

A如果我们没有给出构造方法,系统自动提供一个无参构造方法

B如果我们给出了构造方法,系统将不再提供默认的无参构造方法

注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永

远自己给出无参构造方法。如果不提供无参构造,就必须使用有参构造,

但有的时候我们希望使用无参构造方法,如果没写,就用不了了。

07.03 给成员变量赋值的两种方式的区别

1、setXxx() 方法

修改属性值

2、构造方法

给对象中属性进行初始化

在我们开发中,这两种方式用setXxx更多一些,因为比较灵活



07.04 学生类的代码及测试

1、案例演示

学生类:

成员变量:name age;

构造方法:无参,带两个参

成员方法:getXxx()/setXxx(); show():输出该类所有成员变量

2、给成员变量赋值

A、setXXX()方法

B、构造方法

3、输出成员变量的方式

A通过getXXX()分别获取然后拼接

B通过调用show()方法搞定



07.05 手机类的代码及测试

1、案例演示

模仿学生类,完成手机类代码



07.06 创建一个对象的步骤

1、画图演示

画图说明一个对象的创建过程做了哪些事情

Students = new Student();

1、Student.class加载进内存

2、声明一个Student类型引用

3、在堆内存创建对象

4、给对象中属性默认初始化值 null 0 ....

5、属性进行显示初始化

6、构造方法进栈,对对象中的属性赋值,构造方法弹栈

7、将对象的地址值赋值给s



07.07 长方形案例练习

1、案例演示

需求:定义一个长方形类,定义求周长和面积的方法

然后定义一个测试类进行测试



07.08 员工类案例练习

1、案例演示

需求:定义一个员工类Employee

自己分析出几个成员,然后给出成员变量

姓名name 工号id 工资 salary

构造方法

空参和有参的

getXxx()setXxx()方法

以及一个显示所有成员信息的方法,并测试

Work



07.09 static关键字及内存图(静态)

1、案例演示

通过一个案例引入static关键字

人类:Person 每个人都有国籍 中国

2、画图展示

带有static的内存图

多个对象共享一份,节约内存



07.10 static关键字的特点

1、static关键字的特点

A随着类的加载而加载

B优先于对象存在(随字节码加载而加载,而这时还没创建对象)

C被类的所有对象共享

举例:咱们班级的学生应该共用同一个班级编号

其实这个特点也是在告诉我们什么时候使用静态?

如果某个成员变量是被所有对象共享的,那么它就应该定义为静态的

举例:

饮水机(用静态修饰)共性用静态

水杯(不能用静态修饰)特性用非静态

D可以通过类名调用

其实它本身也可以通过对象名调用

推荐使用类名调用,因为可以不用创建对象

静态修饰的内容一般我们称其为:与类相关的,类成员

静态变量叫做类变量,静态方法叫做类方法

2、案例演示

static关键字的特点



07.11 静态的注意事项

1、static的注意事项

A在静态方法中是没有this关键字的

如何理解呢?

静态是随着类的加载而加载,this是随着对象的创建而存在

静态比对象优先存在(对象有可能就不建立)

B静态方法只能访问静态的成员变量和静态的成员方法

静态方法:

成员变量:只能访问静态变量

成员方法:只能访问静态成员方法

非静态方法:

成员变量:可以是静态的,也可以是非静态的

成员方法:可以是静态的成员方法,也可以是非静态的成员方法

简单记:静态只能访问静态

非静态方法在调用的时候,就必须去创建对象调用(类名创建)

在主方法中调用本类的静态方法,可以省略类名. 系统会默认加上

2、案例演示

static的注意事项



07.12 静态变量和成员变量的区别

静态变量也叫类变量,成员变量也叫对象变量

1、 所属不同

静态变量属于类,所以也称为类变量

成员变量属于对象,所以也称为实例变量(对象变量)

2、 内存中位置不同

静态变量存储于方法区的静态区

成员变量存储于堆内存

3、 内存出现时间不同

静态变量随着类的加载而加载,随着类的消失而消失

成员变量随着对象的创建而存在,随着对象的消失而消失

4、 调用不同

静态变量可以通过类名调用,也可以通过对象调用

成员变量只能通过对象名调用

07.13 main方法的格式详细解释

1、格式

publicstatic void main(String[] args) {}

2、针对格式的解释

public被jvm调用,访问权限足够大

static被jvm调用,不用创建对象,直接类名.访问即可

void被jvm调用,不需要给jvm返回值

main一个通用的名称,虽然不是关键字,但是只有这样才被jvm识别

String[]args以前用于接收键盘录入的

3、案例演示

通过args接收键盘录入数据

运行时输入 java Demo_Main xxx xxx,以前是这样录入的,现在有了Scanner方法



07.14 工具类中使用静态

1、制作一个工具类

ArrayTool

获取最大值

数组的遍历

数组的反转





07.15 说明书的制作过程(了解)

1、对工具类加入文档注释

2、通过javadoc命令生成说明书

@author提取作者内容

@version提取版本内容

javadoc–d 指定的文件目录 –author –version ArrayTool.java

@param参数名称//形式参数的变量名称@return函数运行完返回的数据



07.16 如何使用JDK提供的帮助文档

1、找到文档,打开文档

2、点击显示,找到索引,出现输入框

3、你应该知道你找谁,举例:Scanner

4、看这个类的结构(需不需要导包)

成员变量在jdk中叫做 字段

构造方法在jdk中叫做 构造方法

成员方法在jdk中叫做 方法

07.17 学习Math类的随机数功能

打开JDK提供的帮助文档学习

1、 Math类概述

类包含用于执行基本数学运算的方法

2、 Math类特点

由于Math类在java.lang包下,所以不需要导包(只有lang包不用导包)

因为它的成员全部是静态的,所以私有了构造方法

3、 获取随机数方法

public staticdouble random();返回带正好的double值,该值大于等于0.0且小于1.0

4、 我要获取一个1-100之间的随机数,怎么办?

int number =(int)(Math.random()*100) + 1;



07.18 猜数字小游戏案例

1、案例演示

需求:猜数字小游戏(数字在1-100之间)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: