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:一个工具类。为了让别人直接通过类名调用。
使用注意:
静态方法只能访问静态成员 静态只能访问静态。(非静态可以随意访问)
静态方法中不可写this、super关键字
主函数是静态的。
主方法:语句分析
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;}}}}
- java基础问题07
- Java基础07 包
- java基础07
- Java基础-07
- java 基础 07
- Java基础07 包
- Java基础07 包
- Java基础07 包
- Java基础07IO
- Java基础07 包
- Java基础07 包
- 黑马程序员 Java基础 07
- 黑马程序员-Java基础07
- java语言基础07数组
- Java基础学习之-07
- java基础篇--07<java异常处理>
- Java基础01:基础
- Java基础:基础加强
- C++中指定输出格式的方法
- 类的operator new与operator delete的重载
- 不要只看小米3 2000元级别手机强力推荐
- LeetCode Linked List Cycle II(找到带环单向链表的环起始位置)
- XPATH Injection
- java基础07
- 递归式求解
- 员工价值——如何体现自己价值,如何被自己的领导认可
- 夜归女子遇持刀抢劫 3名小伙相助2人被刺伤
- VC数字图像处理编程
- register
- 揭秘一位总统的个人外交
- 关于滴水的VT调试器
- 波多野结衣套黑丝接69个问题 自称最喜欢林志玲