面向对象

面向对象:
面向过程:当要实现一个功能时,需要亲力亲为,处理每个细节
面向对象:当要实现一个功能时,不关心具体的实现步骤,只关心结果,找一个具有该功能的类,帮我们做事
面向对象的思想:
面向对象是给予面向过程的编程思想
面向过程:强调的是每一个功能的步骤
面向对象:强调的是对象,然后由对象去调用功能
特点:
是一种更符合我们思考习惯的思想
可以将复杂的事情简单化
角色发生了转换,将我们从执行者变成了指挥者
导包:
java.lang包下的内容,不需要导包
如果当前类和所使用的类和所使用的类处于同一个包下,不需要导包
快捷键:alt+回车
创建:
数组:数据类型[] 数组名称 = new 数据类型[长度];
格式:类名称 对象名 = new 类名称(参数...);
使用:
对象名称:代表的是对象地址
成员变量的使用格式
对象名称.成员变量名称 xxx,yyy:对象xxx的yyy属性 点可以理解成xxx的xxx

定义一个类,模拟现实生活中的学生事物分析,学生事物由2部分组成
属性(名词);姓名,性别,年龄
行为(动词);吃饭,睡觉,学习
成员变量(属性);
String name;姓名
String gender;性别
int age;年龄
成员方法(行为)
eat();吃饭
sleep();睡觉
study();学习
注意:
成员变量:和以前定义变量的方式相同,只是位置发生了改变,局部变量在方法内部(方法声明上),成员变量在类中方法外
成员方法:和以前定义方法一样.只是去掉了static 关键字
修饰符 返回值类型 方法名称(参数列表){
方法体;
}

局部变量和成员变量的区别
在类中的位置不同[重点]
成员变量:类中,方法外
局部变量;方法中或者方法声明上(形式参数)
在内存中的位置不同(了解)
成员变量:堆内存
局部变量:核内存
生命周期不同(了解)
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:睡着方法的调用而存在,随着方法的调用完毕而消失
初始化值的不同[重点]
成员变量:类中
局部变量;方法中

发现问题:定义类时,规定了成员变量的含义,但是无法保证成员变量的取值在一个合理有效的范围之内.
解决方案:将需要保护的成员变量用private(私有)关键字进行修饰
private关键字的特点:只能在所属的类中进行使用,处了所属的类,就不能直接访问了
解决方案:
set方法:设置成员变量的值
三要素:
方法名:set+成员变量名(第一个字母大写)
参数列表:定义一个和要赋值的成员变量的类型相同的变量
返回值类型:void
get方法:
三要素:
方法名称:get+成员变量名(第一个字母大写)
参数列表:void
返回值类型:要获取的成员变量的数据类型
注意:
set方法内部可以添加逻辑判断,控制成员变量的赋值范围

方法内部访问变量,采用就近原则,方法自己有,直接使用自己的当成元变量和局部变量同名时,方法中使用变量采用就进原则
要想使用成员变量,格式如下:
this.变量名称:代表的是成员变量
this.代表谁呢?
谁用就是谁
成员方法内部隐藏一个this,用来接收调用该方法的对象的地址值

当使用new常见对象时,其实就是在调用构造方法,构造方法也是方法,只是书写格式不一样
格式:
修饰符 类名名称 (参数列表){
方法体;
return;
}
特点:
没有返回值类型,连void都没有
修饰符中没有static关键字
构造方法的名称和类名称保持完全一致
注意事项:
如果一个构造方法都不会写,编译器默认提供空餐构造
构造方法,也是方法可以进行重载
只要定义任意一个构造方法,name默认空参构造将不再提供

 

posted @ 2018-05-25 20:14  布凯!  阅读(99)  评论(0编辑  收藏  举报