面向对象-----基础0

目录

 

面向对象的思想介绍

类和对象

类的说明

局部变量和成员变量的区别

成员变量和局部变量同名时如何区分?

匿名对象的理解和使用


面向对象的思想介绍

1 面向对象:是一种编程使用思想,编程思路(设计程序的一种模式)

2 面向过程和面向思想过程的比较:都是编程思想,面向对象是基于面向过程的,面向过程是面向对象的基础。

    面向过程:在解决程序设计模式时,更强调的是解决问题的步骤,解决问题的方式,更强调的是方法, 就解决问题是: 自顶向下,不断分解的过程  。 c语言就是面向过程的语言,强调的是过程的实现,从基本的开始写起。 C++是面向对象的语言。

    面向对象:更将强调的是解决问题的主题,更强调的是谁来解决这个问题,更强调的是谁拥有数据,谁拥有数据的使用权限。   自底向上,不断拼装。

3 两种思想的总结:面向对象是面向过程更高层次的编程思想,因为面向过程是面向对象的基础。

4 面向对象好处

     1 更加符合人们的思想习惯:凡是习惯找对象,找工具,找人,帮助解决问题。

     2 复杂问题简单化

     3 有执行者变成了指挥者

类和对象

1 类 :就是类型的意思,是对具体事务的一个抽象的结果,其实就是一个抽象的概念。

         抽象:抽取一个类事务中相同或者相似的东西,抽取之后会形成一个概念。

         类:具有相同特征或行为事务的抽象

2 对象 :就是一类事物的一个具体体现     类的实例化

类的说明

1 类:具有相同特征和行为事务的抽象

2 类一般都是使用名词描述,类包含特征和行为,类的特征指的是类的属性,成员变量

3 特征:属性,成员变量,一般都是名词和形容词描述

      在java语言中,特征就是成员变量,定义成员变量的时候,就和之前定义普通变量一样,普通变量定义在方法中,类的成员变量定义在类中。

4 行为:对于一类事物功能的一个描述,都是能动的。一般使用动词或者动宾起的名字

       在java语言中,行为就是方法,以前定义方法的时候,都要加public static 修饰,类的行为只有修饰符和之前不一样,其它的全部一样,修饰符省略掉了,static

     public 返回值类型 方法名(参数列表){

          方法体;   

    }

5 根据以上的描述定义第一个Java类

       以后如何定义一个类:分析这个类有哪些特征,分析这个类有哪些行为。

       定义一个人类:

                     特征--->成员变量        姓名,年龄,身高,性别,体重,学历

                     行为: 吃 喝 拉 撒 睡

package com.day04;

public class Person {
	//成员变量
	//姓名
	String name;
	
	//年龄
	int age;
	
	//性别
	String gender;
	
	//行为: 对象方法
	//吃
	public void eat() {
		System.out.println("吃肘子");
	}
	
	//喝
	public void drink() {
		System.out.println("和coco");
	}
	
	//睡
	public void sleep() {
		System.out.println("睡美人");
	}

}

       

局部变量和成员变量的区别

1 成员变量:定义在类中,方法外

2 局部变量:定义在方法中

   位置不用: 成员变量在堆中,局部变量在栈中

3 生命周期:从定义到它所占的内训空间被回收的过程

    成员变量:随着对象的出生而出生,随着对象的被回收而消失

    局部变量:随着方法进栈而产生,随着方法的出栈而被销毁。

4 初始化状态不同:

    局部变量,如果不赋值,就没有被初始化,系统也不会默认初始化。

    注意:局部变量不赋值是不能使用的。否则就会编译报错。

    成员变量,如果不赋值,有默认的初始值,引用类型的成员变量时null  整数0 小数0.0 布尔 false 字符 ' '

成员变量和局部变量同名时如何区分?

1 当在一个方法中访问某个变量时,优先在自己方法中寻找,如果找的到,就用自己方法的变量。如果找不到,就到自己所在类中找,找到了,就用,找不到,到这个类所在的父类找,找到,就使用,找不到,到父类的父类进行查找,由于所有的类的顶层类是Object,所以Object中如果没有,编译报错。

2 发现一个问题,成员变量和局部变量同名时,默认在方法中访问局部变量,为了解决这个问题,可以使用关键字this; 通过this.成员变量名进行区分    this表示当前对象

3 this 中文含义: 表示一个对象 ,这个对象就是调用当前方法的对象。

匿名对象的理解和使用

1 匿名:没有名字,匿名对象:没有名字的对象

2 如何创建一个匿名对象:

   new 类名();    //这样创建的就是匿名对象

3 匿名对象使用的场景:

    1 如果创建一个对象之后,只用它调用了一次,就可以使用匿名对象的方式访问,使用匿名对象更加节省内存。

     2 可以作为某个方法的实参,当做参数传递引用

@Test
	public void test02() {
		new Person().print();
	}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值