java基础07

来源:互联网 发布:微信修复数据载入失败 编辑:程序博客网 时间:2024/06/03 14:13

面向对象之封装:

把实现细节给隐藏,对外提供公共的访问方式。

好处:将变化隔离、便于使用、提高重用性和安全性

Private 关键字:是一个权限修饰符,用于修饰成员变量和成员方法, 被private修饰的成员只能在本类方法中使用


想给成员变量赋值,通过setXxx()方法。和带参数的构造函数

想单独获取一个成员变量,用getXxx()方法。

构造方法:

和类名一样的方法就要构造方法

作用:创建对象,对对象的内容进行初始化

特点:

函数名和类名相同

没有返回值类型

没有返回值


格式:

修饰符 类名(形参...){

 

}

 

注意事项:

如果一个类没有提供构造方法,那么系统将会自动给出一个默认的无参构造方法

如果自己给定了构造方法,系统将不再给出构造方法。

若使用无参构造,就要自己写一个无参构造方法。

如果一个方法是类名,但是有返回值类型,不管是不是void,都构造普通函数

 

如何把一个同名局部变量赋值给一个成员变量,这是使用this关键字。

一个方法中的变量,首先在局部变量的位置找,如果没有再在类中寻找,如果还没有就报错。

 

This:代表当前类的一个引用对象

在一个方法内部,谁调用这个方法,this就代表谁。

应用场景:

用于解决局部变量隐藏成员变量。

通过this调用本类的构造方法。注:它必须放在构造方法的第一条语句上

修饰符: public default protected private


Java的类格式:

成员变量私有化

无参构造函数

公共的set/get方法

 长方形案例:

/*注意事项:A:成员变量要给出注释。B:所有的方法之间要有空行。所有的方法你都可以不写,只要你不用。但是,下面的这种写法是我们的基本要求。JavaBean。成员变量私有无参构造方法公共的get/set方法。*/class Rect {//长方形的长private int length;//长方形的宽private int width;//构造方法public Rect(){}public Rect(int length,int width) {this.length = length;this.width = width;}//setXxx()/getXxx()方法public void setLength(int length) {this.length = length;}public int getLength() {return length;}public void setWidth(int width) {this.width = width;}public int getWidth() {return width;}public int getZhouChang() {return (length+width)*2;}public int getArea() {return length*width;}}class RectTest {public static void main(String[] args) {//无参构造+setXxx方法Rect r1 = new Rect();r1.setLength(30);r1.setWidth(20);System.out.println(r1.getZhouChang());System.out.println(r1.getArea());//带参构造Rect r2 = new Rect(30,20);System.out.println(r2.getZhouChang());System.out.println(r2.getArea());}}


Static关键字:

静态的意思,可以修饰成员变量,可以修饰成员方法,被static修饰的成员变量被所有的对象所共享。

 

使用场景:

如果某个成员是被所有对象共享的时候,才使用静态修饰。

 

特点:

随之类的加载而加载。

优先于对象而存在。

被所有对象所共享。

可以直接被类名调用。

被静态修饰的内容可以通过对象调用也可用类名调用,建议用类名调用。

 静态的访问
A:静态方法:
静态成员变量
静态成员方法
B:非静态方法:
非静态成员变量
非静态成员方法
静态成员变量
静态成员方法
简记:静态只能访问静态。
注意:在静态方法中没有this关键字。
(5)什么时候该用静态呢?
尽量不要使用静态,因为静态的内容是随着类的加载而加载,生命周期太长,占用资源,效率低。
该用的情况:
A:被所有对象共享的数据。
B:一个工具类。为了让别人直接通过类名调用。

使用注意:

静态方法只能访问静态成员 静态只能访问静态。(非静态可以随意访问)

静态方法中不可写thissuper关键字

主函数是静态的。

 

主方法:语句分析

Public : main是被jvm调用,所以,它的方法权限必须足够大。

Static main是被jvm调用,为了方便,不创建对象,直接通过类名调用

Void : 空的意思。因为我们把结果返回给jvm没有意义。

Main : 习惯写法,都叫main。主要的意思,程序的入口。

String[] args : 这是一个字符串数组。在早期是为了接收键盘录入的

 

我们在一个类中使用其他类的功能,按照正常情况下:我们首先编译其他的类

得到class文件,然后再使用。而如果我们使用了多个这样的类,每个类都要进行编译

太麻烦,所以java帮你自动编译所使用到的类,你只需要编译当前的类即可。

 

那么这个时候,我们制作帮助文档

 (1)帮助我们知道别人提供给我们的class里面到底有什么
(2)步骤
A:自己写一个类,加入文档注释
B:通过JDK的javadoc工具制作
格式:javadoc -d doc -version -author ArrayTools.java

学习和使用API的步骤:

注意:类及方法出现的版本。

 

了解API是什么?应用程序编程接口。(JDK提供给我们的帮助文档)

Application Programming Interface

找到API

双击打开

点击显示,出现一个索引界面对应的文本框

你要知道你学习的那个类是什么

Math

在输入框里输入Math,回车就能得到一个关于Math类的描述信息

首先看包:

如果是java.lang包下的类是可以直接使用的

如果是在其他包下,必须要导包。

 案例:

import java.util.Scanner;class GuessNumberGame{public static void main(String[] args){//创建一个1-100之间的随机数int num = (int)(Math.random()*100)+1;while(true){//读取键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入你要猜的数字:");int guessNum = sc.nextInt();//对两个数进行判断if(guessNum > num){System.out.println("女娲把我造的小了!");}else if(guessNum < num){System.out.println("上帝给了我一个比你强健的体魄!");}else{System.out.println("恭喜你!你已经达到了神的境界");break;}}}}


 

0 0
原创粉丝点击