1、面向对象
1、java是面向对象的程序设计语言,除了8种简单数据类型外,都属于对象。
2、面向对象的语言会有明显的三个特征:封装、继承、多态。
注意:java其实不算是完全面向对象,因为有8种简单类型的存在。
2、面向对象(oo)的优点
1、与人类的思维习惯一致
2、提高了程序的可重用性
3、信息隐藏,提高了程序的可维护性和安全性
3、类的概念-----属性(field)和方法(method)
1、类是对一群具有相同属性、表现相同行为的对象的抽象
2、类确定对象将会拥有的属性 和行为,它定义了一种对象所拥有的数据和所能完成的操作
3、在面向对象程序设计中,类是程序的基本单元。程序中的对象是类的实例,对象是通过类创建的
属性: 访问控制符(public) 数据类型 名字;
通常写在类的开始处
方法: 访问控制符(public) 返回值类型 方法的名字(参数){ 方法体 }
没有返回值用 void。通常写在属性之后
4、常用的注释
文档注释 java-code style-code templates
类里面的方法注释 java-editor-templates 增加一个new
5、对象的概念
类是对事物属性行为的概括描述,对象就是符合类描述的具体事物。所以
一个对象必须属于某个类,一个类可以有多个具体的对象。
6、对象的创建与销毁
根据类新建一个对象用 new 类名()。new的作用是为对象开辟一个新的内存空间
格式:类名字 对象名=new 类名称();
eg:Teacher lisi=new Teacher;
对象的销毁:当对象不存在引用时,它就会被java自动销毁
垃圾收集程序的运行有jvm控制。
System.gc()可以提醒java回收无用的对象,什么时候回收由java自己决定
java存在内存泄漏
7、属性的设置和方法的调用
对象.属性名;
对象.方法名;
8、对象的内存分析 Student stu=new Student;
java的内存分为堆内存和栈内存
等于号右边的 new+类名 存放在堆内存中(对象存放在堆内存);把该对象在堆内存的
地址给了栈内存,栈内存放的是堆内存的地址,堆内存存放对象
引用赋值:同一个类型的两个引用变量指向同一个对象
eg:Student stu=new Student;
Student stu1=stu;//引用赋值
9、类的方法 定义类的某种行为或功能
方法的定义:方法的名称、方法返回值的数据类型、方法的主体
语法:public 返回值类型 方法名(){ 方法体 }
有返回值的方法用 return 表达式;所有的数据类型都可以当返回值
如果方法具有返回值,方法中必须使用关键字 return 返回该值,返回值类型为该返回值的类型
如果方法没有返回值,返回值类型为void
return 跳出方法或返回结果
10、方法的调用----执行方法中包含的语句
语法:对象名.方法名();
同一个类中不同的方法可以互相调用(可以直接写方法名);不同类之间调用方法要先创建对象,使用“.”调用。
方法之间允许相互调用,不需要知道方法的具体实现,实现重用、提高效率。
11、方法的返回值
注意:1、方法的返回值类型为void,方法中不能有return返回值
2、方法不能反回多个值
3、多个方法不能相互嵌套定义
4、不能在方法外部直接写程序逻辑代码
12、单元测试类 Junit
1、导包 选中工程--右击选择build path---再选择configure build path---add libraries---JUnit(选择4)---finsh
2、选中类--右击new--JUnit test case--Next--选中测试的方法--finsh
3、 assertEquals 作比较
13、成员变量和局部变量的区别
成员变量和局部变量-----看离它最近的花括号
声明变量的位置决定了变量的作用域
区别:1、作用域不同---1、局部变量的作用域仅限于定义它的方法
2、成员变量的作用域在整个类内部都可见
2、初始值不同--1、java会给成员变量一个初始值
2、java不会给局部变量赋予初始值
注意:在同一个方法中,不允许有同名局部变量
在不同的方法中,可以有同名局部变量
在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级
14、生成一个javadoc文档
project---Generate javadoc---选中工程、public、选择存放的位置---Next---文档的名字---Next--Finsh
15、带参数的方法
参数列表:(数据类型 参数1;数据类型 参数2;...)
调用方法,传递的参数 要与列表一一对应。
语法:访问控制符 返回类型 方法名(形式参数){ 方法体 }