Java基础知识----类和对象

 一、面向对象概述

1、对象      

现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如动物、书、计算器、冰箱等。  

2、类

类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类。

3、封装

封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,用户使用电脑,只需要使用手指敲击键盘就可以实现一些功能,用户无须知道电脑内部是如何工作的,即使用户可能碰巧知道电脑的工作原理,但在使用电脑时并不完全依赖于电脑工作原理这些细节。

4、继承

类与类之间同样具有关系,如一个百货公司类与销售员类相联系,类之间这种关系被称为关联。

5、多态

多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类以及相关类。该统一风格可以由父类来实现,根据父类统一风格的处理,就可以实例化子类的对象。(继承父类的情况下,子类有自己的类)

二、类

1、成员变量

Java中的对象属性成为成员变量。

2、成员方法         

在Java语言中使用成员方法对应于类对象的行为。

权限修饰符 返回值类型 方法名(参数类型 参数名){

    ...//方法体     return 返回值;

}

3、权限修饰符

Java中的权限修饰符主要包括private、public和protected,这些修饰符控制着对类和类的成员变量以及成员方法的访问。

4、局部变量

局部变量是在方法被执行时创建,在方法执行结束时被销毁。局部变量在使用时必须进行赋值操作或被初始化,否则会出现编译错误。

5、局部变量的有效范围

可以将局部变量的有效范围称为变量的作用域,局部变量的有效范围从该变量的声明开始到该变量的结束为止。

6、this关键字

在这里读者明白了this可以调用成员变量和成员方法,但这并不是Java语言中的最常规调用方式——使用“对象.成员变量”或“对象.成员方法”进行调用(关于使用对象调用成员变量和方法的问题,笔者会在后续章节中进行讲解)

this关键字来代表类对象的引用。

Private void setName(String name){
     this.name=name;       //将参数值赋予类中的成员变量
}

三、类的构造方法

在类中除了成员方法之外,还存在一种特殊类型的方法,那就是构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。

public book(){

......        //构造方法体

}

四、静态变量、常量和方法

在介绍静态变量、常量和方法之前首先需要介绍static关键字,因为由static修饰的变量、常量和方法被称作静态变量、常量和方法。

五、类的主方法

主方法是类的入口点,它定义了程序从何处开始;主方法提供对程序流向的控制,Java编译器通过主方法来执行程序。

主方法的语法如下:

public static void main(String[] args){

    //方法体

}

六、对象

1、对象的创建

对象可以认为是在一类事物中抽象出某一个特例,通过这个特例来处理这类事物出现的问题,在Java语言中通过new操作符来创建对象

Test test=new Test();

Test test=new Test("a");

Test:类名

test:创建Test类的对象

new:创建对象操作符

"a":构造方法的参数

2、访问对象的属性和行为

当用户使用new操作符创建一个对象后,可以使用“对象.类成员”来获取对象的属性和行为。

3、对象的引用

类名 对象引用名称

假如一个类是Book:

Book book;

Book book=new Book (); 

4、对象的比较

在Java语言中有两种对象的比较方式,分别为“==”运算符与equals()方法。

package bao;

import java.util.Arrays;

public class Demo1 {
	public static void main(String[] args) {
		String str=new String("aaa");
		String str1=new String("aaa");
		String str2=str;
		//运用“==”运算符比较str1与str2
		System.out.println("“==”运算符比较str1与str2的结果:"+(str1==str2));
		//运用“equals()”方法比较str1与str2
		System.out.println("“equals()”方法比较str1与str2的结果:"+str1.equals(str2));
	   }
}

/*输出结果:
“==”运算符比较str1与str2的结果:false
“equals()”方法比较str1与str2的结果:true

*/

“==”:是比较两个对象的地址是否相同

equals():是比较两个对象的内容是否相同

5、对象的销毁

每个对象都有生命周期,当对象的生命周期结束时,分配给该对象的内存地址将会被回收。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

情绪员Tim

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值