黑马程序员_____JAVA面向对象

来源:互联网 发布:津元天钓具淘宝 编辑:程序博客网 时间:2024/05/04 20:16


面向对象思想:面向对象是基于面向过程的编程思想


面向对象思想特点:
是一种更符合我们思想习惯的思想
可以将复杂的事情简单化
将我们从执行者变成了指挥者


面向对象特征
封装(encapsulation)
继承(inheritance)
多态(polymorphism)


类与对象:
类:是一组相关的属性和行为的集合,抽象的概念
对象:是该类事物的具体体现

举例:
学生
对象 班长就是一个对象


成员变量和局部变量的区别:
在类中的位置不同
成员变量 类中方法外
局部变量 方法内或者方法声明上
在内存中的位置不同
成员变量 堆内存
局部变量 栈内存
生命周期不同
成员变量 随着对象的存在而存在,随着对象的消失而消失
局部变量 随着方法的调用而存在,随着方法的调用完毕而消失
初始化值不同
成员变量 有默认的初始化值
局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。


方法的形式参数是类名的时候如何调用:


形式参数:方法的参数列表中的参数
实际参数:调用方法时,传递的参数


基本数据类型:
形式参数的改变 对 实际参数没有影响
引用数据类型:
形式参数的改变 对 实际参数   有影响

class类型的参数,也属于引用数据类型

调用方式如下:

class Student {
public void study(){
System.out.println("正在复习中");
}
}

class Test {
public static void main(String[] args){
//创建Test对象
Test t = new Test();
Student s = new Student();
t.method( s );
}

public void method( Student s ){

//this --> t对象
s.study();
}
}

匿名对象: 就是没有名字的对象
是对象的一种简化表示形式


匿名对象的两种使用情况:
对象调用方法仅仅一次的时候
new Student().study();


作为实际参数传递
t.method( new Student() );

封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
好处:
隐藏实现细节,提供公共的访问方式
提高了代码的复用性
提高安全性。
封装原则:
将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问


private关键字: 私有的
private关键字:
是一个权限修饰符。
可以修饰成员(成员变量和成员方法)
被private修饰的成员只在本类中才能访问


this关键字:
this:代表所在类的对象引用
记住:
方法被哪个对象调用,this就代表那个对象
什么时候使用this呢?
局部变量隐藏成员变量



        
0 0
原创粉丝点击