ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【小白学Java】D09》》》面向对象

2021-07-04 19:32:47  阅读:171  来源: 互联网

标签:Java 变量 构造方法 对象 成员 局部变量 D09 小白学 方法


一、了解类和对象

(一)什么是类?

1、类的概述:
             对现实生活中某一类具有共同属性和行为事物的抽象(或集合),可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
(属性指该事物的状态信息;行为指该事物能够做什么)

2、类的特点:
          (1)、类是对象的数据类型
          (2)、类是具有共同属性和行为的一组对象的抽象

(二)什么是对象?

          万物皆对象,客观存在的事物皆为对象,对象是指,一类事物的具体体现,

类和对象的关系:
                    类是对象的集合 (抽象) 对象是类的实现(实体)

(三)什么是面向对象?

          面向对象是相对于面向过程来讲的,面向对象方法,指把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

二、类的定义

        通常情况下,一个类并不能直接使用,而需要根据类创建一个对象,才能使用。

(1)类是Java程序中的基本组成单位(class关键字修饰的称之为类)

(2)类的组成:属性和行为

属性:在类中通过成员变量(方法之外的变量)来体现
行为:在类中通过成员方法来体现(与之前的方法相比去掉static即可)

(3)类的定义步骤:

1.定义类   
          格式:public class 类名(){}
    
2.编写类的成员变量    
            格式:   数据类型 变量名; 
                或者  public 数据类型 变量名;
               
3.编写类的成员方法    
           格式: public 返回值类型 方法名(参数){}

三、对象的使用

先有类再有对象,对象的创建也要通过类

1.导包: 指出所需要使用的类在什么位置;
	    对于和当前类属于同一个包的情况,可以省略导报语句不写
	    格式: import 包名.类名
2.创建对象:
	    格式: 类名  对象名=new 类名();
	    范例:Car c=new Car();
	
3.使用对象(就是使用成员变量和成员方法):
	(1).使用成员变量(赋值和修改):
		格式:对象名.成员变量名;
		范例:c.price;
	(2).使用成员方法:
		格式:对象名.成员方法名();
		范例:c.run();	
注意: 
当一个对象作为参数传递到方法当中时,实际上传进去的是对象的地址值。

四、成员变量和局部变量

区别

(1)定义的位置不一样:
   局部变量:定义在方法的内部或者方法的声明上(形参)
   成员变量:在方法的外部定义,直接写在类中的
   
(2)作用范围不一样:
   局部变量:只有方法中才可以使用,出了方法就不可使用了。
   成员变量:整个类全部都可以用
   
(3)默认值不一样:
   局部变量:没有默认值,没必须先定义,赋值,再使用(想使用必须初始化)
   成员变量:有默认值,规则和数组一样,系统默认分配
   
(4)内存的位置不一样:
   	局部变量:栈内存
   	成员变量:堆内存
   
(5)生命周期不一样:
     局部变量:随方法的创建而创建,随方法的消失而消失
	 成员变量:随对象的创建而创建,随对象的消失而消失

五、封装性

(1)this关键字

在类中有:

  1. this修饰的变量指成员变量
  2. 局部变量如果与成员变量同名,不带this修饰就是局部变量
  3. 局部变量如果不与变量名同名,不带this修饰就是成员变量
  4. this表示所在类的对象

也即是说,当方法的局部变量和类的成员变量重名时,根据“就近原则”,会优先使用局部变量,如果要访问本类中的成员变量,那么就需要使用格式:this.成员变量名

注意:

        当局部变量隐藏成员变量时使用this
        当局部变量和成员变量同名时使用this

(2)private关键字

1.什么是private关键字

  • 是一个权限修饰符
  • 可以修饰成员变量和成员方法
  • 作用是保护成员不被别的类使用,被private修饰的成员只能在本类中才能访问(private修饰的 只能当前类使用)

2.被private修饰的成员变量,在本类中仍然可以随意访问,但如果要被别的类使用,就要提供相应的操作

  • 提供get变量名()方法,用于获取成员变量的值,用public修饰
  • 提供set变量名()方法,用于设置成员变量的值,用public修饰

(3)封装

1.封装概述:

概述:封装是面向对象的三大特征之一(封装,继承,多态)
作用:隐藏类中的内部细节,外界无法直接调用(private)

2.封装的原则:

  • 将类的某些信息隐藏在类内部,不允许外界直接调用,而是通过该类提
  • 供的方法实现对隐藏信息的操作和访问(get、set)
  • private私有化成员变量,提供了对应的get/set方法

3.封装的优点:

  • 通过方法控制成员变量,提高了代码的安全性
  • 把代码进行封装,提高了代码的复用性

六、构造方法

(1).概述:
           构造方法是一个特殊的方法,专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是调用的构造方法。

(2)作用:
           创建对象

(3).格式:

public class 类名{
	public 类名(参数类型  参数名){
	    方法体
	}
}

(4).注意事项

  1. 构造方法的名称必须和所在的类的名称 完全一样 ,就连大小写也要一样
  2. 构造方法不要写返回值类型,连void都不要写
  3. 构造方法不能return一个具体的返回值
  4. 如果没有定义构造方法,类中将会自动定义一个默认的无参构造
  5. 如果定义了至少一个构造方法,类中将不会自动定义一个默认的无参构造方法
  6. 构造方法可以重载

(5).构造方法的重载

如果已经定义了有参构造方法,还要使用无参构造方法,则必须在写一个无参构造方法

标签:Java,变量,构造方法,对象,成员,局部变量,D09,小白学,方法
来源: https://blog.csdn.net/dazuo_001/article/details/118463544

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有