DAY6

06.01 面向对象(面向对象思想概述)(了解)

一、.面向对象思想特点:

1.是一种更符合我们思想习惯的思想;

2.可以将复杂的事情简单化;

3.将我们从执行者变成指挥者。

二、面向对象开发:就是不断的创建对象,使用对象,指挥对象做事情。

三、面向对象的特征:封装、继承、多态。

06.02 面向对象(类与对象的概述)(掌握)

一、如何描述现实世界事物

1.属性:该事物的描述信息。

2.行为:该事物能够做什么。

二、定义类其实就是定义类的成员

1.成员变量:和以前定义变量是一样的,只不过位置发生了变化。在类中,方法外。

2.成员方法:和以前定义方法是一样的,只不过是把static去掉。

三、类和对象的概念

1.类:是一组相关的属性和行为的集合。

2.对象:是该类事物的具体体现;

06.03 面向对象(学生类的定义)(掌握)

1.学生事物

2.学生类

练习:

class Demo_Student {

public static void main(String[] args){

Demo_Student  s= new   Demo_Student();

s.study();

s.sleep();

}

Staticclass Student {

String name;

int age;

String gender;

}

public void sleep (){

System.out.println("学生睡觉");

}

public void study (){

System.out.println("学生学习");

}

}

注意事项:注意括号包含的内容。

DAY6_第1张图片

06.04 面向对象(学生类的使用)

一、创建对象的格式:

1.类名  对象名=new 类名();

2.对象名:合法的标识符。如果是一个单词所有的字母小写,从第二个单词开始首字母大写。

二、如何使用成员变量

对象名.变量名

三、如何使用成员方法

对象名.方法名

06.05面向对象(一个对象的内存图)

DAY6_第2张图片

06.06面向对象(二个对象的内存图)(了解)

DAY6_第3张图片

c2=null;  //Exception in thread ''mian" java.lang.NullPointerException

at Demo1_Car.main(Demo1-Car.java:19) 空指针异常.


06.07 面向对象(成员变量与局部变量的区别)(掌握)

一、在类中的位置不同

成员变量:在类中方法外

局部变量:在方法 定义中或者方法声明上

二、在内存中的位置不同

成员变量:在堆内存(成员变量属于对象,对象进堆内存)

局部变量:在栈内存(局部变量属于方法,方法进栈内存)

三、生命周期不同

成员变量:随着对象的创建而存在,随着对象的消失而消失。

局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。

四、初始化值不同

成员变量:有默认的初始化值

局部变量:没有默认的初始化值,必须定义、赋值,然后才能使用。

注意事项:

1.局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用就近原则。

2.基本数据变量包括:byte,short,int,long,float,double,boolean,char。

3.引用数据类型变量包括:数组、类、接口、枚举。


06.08面向对象(方法的开工参数是类名的时候如何调用)

一、方法的参数是public void print (Student a ){}//print(new Student ())};

DAY6_第4张图片

基本数据类型当作形式参数,传递的是具体的值。

引用数据类型当作形式参数,传递的是地址值。


06.09 面向对象(匿名对象)

一、定义:匿名对象是无名字的对象。

二、匿名对象的应用场景

1.匿名对象适合是只调用一次。

可以节省代码。

Car c1=new Car();//创建有名字的对象

c1.run();

new Car().run();//匿名对象调用方法。

new Car().run();//匿名对象适合对方法的一次调用,因为调用多次会产生多个对象,不如用有名字的对象。

2.匿名对象可以做为实际参数传递。

DAY6_第5张图片

3.匿名对象是否可以调用属性并赋值?有什么意义?

DAY6_第6张图片

匿名对象可以调用属性,但是无意义。因为调用后就变成垃圾。如果需要赋值,还是需要有名字的对象。


06.10 面向对象(封装)

一、定义:封装是指隐藏的属性和实现细节,公对外提供公共方式。

二、好处:

1.隐藏实现细节,仅对外提供公共访问方式。

2.提高代码的复用性。

3.提高安全性。

三、封装的原则

1.将不需要对外提供的内容都隐藏起来。

2.把属性隐藏,提供公共方法对其访问。

06.11面向对象(private 关键)

一、private关键字的特点:

1.private是一个权限修饰符。

2.可以修饰成员变量和成员方法。

3.被其修饰的成员只能在本类中被访问。

private仅仅是封装的一种体现形式,不能说封装就是私有。

DAY6_第7张图片
DAY6_第8张图片

06.12 面向对象(this)

一、this关键字的特点:代表当前对象的引用。

二、应用场景:用来区分成员变量和局部变量重名。

你可能感兴趣的:(DAY6)