java第二天学习笔记
面向对象是相对面向过程而言,基于面向过程,二者都是一种思想
面向过程:强调是功能行为 (打开冰箱,存储进冰箱,关闭冰箱)
面向对象:将功能封装进对象,强调具备了功能的对象(冰箱打开,冰箱存储,冰箱关闭)【事情简单化】
面向对象特征:封装(隐藏对象的属性和具体细节(将变化隔离,便于使用,提高重用性,安全性),提供公共方法对其访问),继承,多态
类是对现实生活中事物的描述(对具体的抽象),对象就是这类事物,实实在在存在的个体
成员变量:作用于整个类中在堆内存中存在,在另一类中可以通过类名调用,有初始值
局部变量:存在在栈内存中,需要初始化
当对象的方法只调用一次时,用匿名对象比较简单,将匿名对象作为实际参数进行传递
私有仅仅是封装的一种形式
构造方法(构造方法对象建立就运行一般方法需要对象调用才运行,可以多次重载):方法名和类名相同,不能定义返回值类型,不可一写return语句,用于给对象初始化(对象一建立就会调用与之对应的构造方法),当没定义构造方法时,系统会自动写一个空的构造方法,当定义构造方法后就不会有默认的空构造方法了,构造方法只运行一次,一般方法可以被调用多次
注:成员变量注意写成私有的
当分析事物时,该事物存在具备一些特性或者行为,就将这些内容定义在构造方法中
Class Person{
/*
对象一建立就运行,而且优先于构造方法,构造代码块是给所有对象进行统一初始化,构造方法是对对应的对象初始化
*/
{//构造代码块
System.out.ptintln(" ");
}
Person(){
System.out.ptintln(" ");
}
}
this用法:
1、成员变量和局部变量同名的
2、构造方法间的调用
那个对象在调用this所在方法,this就代表那个对象,构造方法间调用用this,且必须放在第一行,因为初始化要先执行且执行一次
Person (String name){
}
Person (String name,int n){
this(name); //调用只有一个参数的构造方法
This.Age = age;
}
static用法:
用于修饰成员(成员变量和成员方法)静态变量和字符串常量存放在data segment可共享,用类名直接调用
优先于对象的存在,随着类的消失而消失
静态使用注意:
静态方法只能访问静态成员
非静态方法既可以访问静态也可以访问非静态
静态方法中不可以定义this,super关键字(静态优于对象存在)
利:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象中存储一份,可以直接被类名调用
弊端:生命周期长,访问出现局限性(静态虽好,只能访问静态)
主函数是静态的
主函数是一个特殊的函数,作为程序的入口,可以被jvm调用
Public static void main(String [ ] args)
Javac 类名.java
Java 类名 asd aad dfd//向args数组中传入三个字符
当功能内部没有访问到非静态数据(对象的特有数据),该功能可以定义成静态
将方法都静态后,可以方便于使用,但是该类还是可以被其他程序建立对象,为了更为严谨,可以通过将默认的构造方法私有化,强制让该类不能建立对象
创建帮组文档
javadoc -d myhelp Arithmetic.java
利用javadoc创建帮组文档 -d是在当前目录下,此文档中只用public 和protect才能被显示
@param 参数 @return