java中的类和对象

1.面向对象的初步认识

 1.1什么是面向对象

java是一门纯面向对象的语言,在面向对象的世界里,一切皆为对象,面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知。

1.2面向对象与面向过程

1.传统洗衣服过程

拿盆子———>放水———>放衣服———>倒洗衣粉———>手搓———>换水———>倒洗衣粉———>手搓———>拧干———>晾衣服

2.现代洗衣服的过程

用面向对象的方式来处理,不关注过程,有四个对象,人,衣服,洗衣机,洗衣液。

整个过程是人把衣服放进洗衣机导入洗衣液开始洗衣服。

2.类定义和使用

2.1简单认识类

类是用来对一个实体来进行描述的,主要描述该实体具有哪些属性,功能,描述完成后计算机就开始识别了。

2.2类的定义格式

class为定义类的关键字,WashMachine类的名字,{}中为类主体。

类中包括的内容称为类的成员,属性是用来描述类的,称之为类的成员属性或者类成员变量,方法主要说明类的那些功能,称之为类的成员方法。

//创建类

class WashMachine{

public String brand;//品牌

public String type;  //型号

public String weight;//重量

public String height;//高度

public String length;//长度

public void WashClothes(){

System.out.println("洗衣");

}

public void DryClothes(){

System.out.println("脱水");

public void SetTime(){

System.out.println("定时");

}

2.3 类的命名

类名注意采用大驼峰定义。

成员前写法统一为public。

此处写的方法不带static关键字。

3.类的实例化

3.1什么是实例化

public class Dog { 
    private String name; 
    private int id; 
    public Dog(String myName, int  myid) { 
        name = myName; 
        id = myid; 
    } 
    public void eat(){ 
        System.out.println(name+"正在吃"); 
    }
    public void sleep(){
        System.out.println(name+"正在睡");
    }
    public void introduction() { 
        System.out.println("大家好!我是"         + id + "号" + name + "."); 
    } 
 
    public static void main(String[] args){
  Dog d = new Dog("阿黄",101);
        d.introduction();
       d.eat();
       d.sleep();
    
    
    }
}

大家好!我是101号阿黄
阿黄正在吃
阿黄正在睡

3.2类和对象的说明

1.类只是一个模型一样的东西,用来对一个实体进行描述。

2.类是一种自定义的类型,可以用来定义变量,但是在java中用类定义出来的变量我们成为对象。

3.一个类可以实例化出多个对象,实例化出的对象,占用实际的物理空间,存储类成员变量。

4.this引用

4.1为什么要有this引用

 


 

 以上代码定义了一个日期类,然后main方法中创建了三个对象,并通过Date类中的成员方法对对象进行设置和打印。

注意两个问题

1.形参名不小心与成员变量名相同:

那函数体中到底是谁给谁赋值?

2.三个对象都在的调用setDate和printDate函数,但是这两个函数中没有任何有关对象的说明,setDate和printDat函数如何知道打印的是哪个对象的数据呢?

4.2什么是this引用

java编译器给每个“成员方法”增加了一个隐藏的引用类型参数,该引用参数指向当前对象(成员方法运行时调用该成员方法的对象),在成员方法中中所有成员变量的操作,都是通过该引用访问。只不过所有的操作对用户是透明的,即用户不需要来传递,编译器自动完成。

this引用是编译器自动添加的,永华在实现代码时一般不需要显式给出。

注意:this引用的是调用成员方法的对象。

4.3 this引用的特性

1.this的类型:对应类类型引用

2.this只能在“成员方法”中使用

3.在“成员方法”中,this只能引用当前对象,不能再引用其他对象,具有final属性

4.this是“成员方法”第一个隐藏的参数,编译器会自动传递,在成员方法执行时,编译器会负责将调用成员方法对象的引用传递给该成员方法,this负责来接受。

5.对象的构造及初始化

5.1如何初始化对象

错误

正确

5.2构造方法

5.2.1概念

构造方法也成为构造器,是一个特殊的成员方法没名字必须与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期内只调用一次。

2.2.2特性

1.名字必须与类名相同。

2.没有返回值类型,设置void也不行。

3.创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次

4.构造方法可以重载。

5.如果用户没有显式定义,编译器会生成一份默认的构造方法,生成的默认构造方法一定是无参的。

6经过Java.c编译之后,构造函数的名字会被修改成<init>.

7.构造方法中,可以通过this调用其他构造方法来简化代码。

注意:this(...)必须是构造方法中的第一条于语句

          不能形成环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值