您的位置:首页 > 编程语言 > Java开发

oop java面对对象 sduty-java-05days

2015-05-13 17:40 246 查看

1、oop的三条主线

1-1、

a、java类及类的成员

b、面向对象的三大特征

c、其他关键字

1-2、类和类之间的关系: 关联关系,继承关系,聚合关系(聚集、组合)

2、设计类和实例化类

类中只能存在属性和方法,不能出现其他语句
/**

* 1、设计类的成员(成员变量和成员方法)

* 2、实例化类

* 3、通过"对象.属性" 和 "对象.方法" 操作对象

*/

public class TestPerson {

public static void main(String[] args) {

//实例化类

Person person = new Person();

person.setName("zhangsan");

System.out.println(person.getName());

}

}

//设计类

class Person{

String name="lisi";

int age;

boolean sex;



public void eat(){

System.out.println("人能吃饭");

}

public void sleep(){

System.out.println("人能睡觉");

}

public void run(){

System.out.println("人能跑步");

}



public void setName(String n){

name=n;

}



public String getName(){

return name;

}

}

3、类的内存解析

栈:对象的引用和局部变量都存在栈中

堆:对象的实例化信息存在堆中



4、类的属性(成员变量)详解

成员变量 vs 局部变量

相同点:

a、 遵循变量申明格式:数据类型 变量名 = 初始化值

b、 都有作用域

不同点:

a、 申明的位置不同:

成员变量:申明在类里,方法外

局部变量:申明在方法内,方法形参,代码块内

b、 修饰符

成员变量修饰符有4个:public private protected 缺省

局部变量没有修饰符,与所在方法修饰符相同

c、 初始化值: 一定会有初始化值

成员变量在申明时,若没有显式赋值,那么不同类型的初始化值是不同的

byte short int long -》0

flaot double -》0.0

char -》 空格

boolean -》false

引用类型 -》null

局部变量一定要显式赋值(没有默认初始化值)

d、 在存储空间中的位置:

成员变量在堆空间中

局部变量在栈空间中

5、类的方法

a、 实例: public void eat(){}

格式: 权限修饰符 返回值类型(void代表没有返回值) 方法名 (形参){...}

注意: void 和return 不能同时存在同一方法中

b、 方法可以调用本类的其他属性或方法(例外:static方法访问非static,编译不通过),方法中不能再定义方法;

6、类的重载

重载的条件:a/同一类中,b方法名必须相同,c、方法的参数列表不同(参数的个数不同或参数的类型不同)

方法的重载与方法的返回值类型无关。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: