类和对象+构造方法(Java)

本文介绍了Java中类和对象的概念,类作为对象的抽象,描述了对象的特征和功能。文章详细讲解了类的组成、构造方法的定义和用途,以及方法重载的条件和调用方式。此外,还提到了构造方法和普通方法的区别,以及this关键字在代码中的作用。

关于什么是的对象?

先不用思考对象的定义是什么,想一想生活中有哪些对象。一支笔,一本书,都是一个对象。其实所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。
生活中有很多笔,很多书,我们如何去描述其中的某一支笔呢?我们可以描述它的颜色,品牌,长度,粗细和用途之类的,那这些就是这个对象的特征和功能,我们把描述这样一支笔的内容称之为类。即类是具备某些共同特征的实体的集合,它是一种抽象的概念,用程序设计的语言来说,类是一种抽象的数据类型,它是对所具有相同特征实体的抽象。类是对象的集合,对象是类的实例;对象是通过new className产生的,用来调用类的方法;类的构造方法 。

关于Java中的类
1.组成:类是由属性和方法组成的
类中的方法分为两类:①普通方法 ②构造方法
属性是由对象的特征进行定义的。
普通方法是由对象的行为(功能)进行定义的。

2.格式
修饰符 class 类名 {
//属性的格式
访问修饰符 数据类型 属性名;
//普通方法的格式
访问修饰符 返回值类型 方法名(数据类型 参数名,…){
//代码
}
//构造方法的格式
访问修饰符 构造方法名(数据类型 参数名,…){
//代码
}
}

例如编写一个Student 类

public class Student {

    public String name;
    public int score;
    public Student(String n, int s){
    }
}

*
实例化对象的关键字:new
格式:
①类名 对象名 = new 类名();
②类名 对象名 = new 构造方法名(参数值,…);
调用方法和属性的格式:
①对象名.属性名
②对象名.方法名(参数值,…);
例如:

Student stu = new Student("张三",3);      
Student stu2 = new Student("李四",3);
stu2.name = "李四";

关于构造函数
1.构造方法的格式
public 类名(数据类型 参数名,…){
//代码
}
注意:
①构造方法一定不能定义返回值类型。
②构造方法的名字必须要和类名完全一致,包括大小写。

2.构造方法的用途:
①实例化对象。
②初始化属性值。

3.构造方法和普通方法的区别
①返回值:构造方法一定没有返回值,也不能用void修饰
②用途:构造方法是用来实例化对象和初始化属性的;普通方法是对对象的行为定义的,调用普通方法时表示执行的对象的行为(功能)。
③名字:构造方法名必须和类名一致, 普通方法符合命名规则可自定义。

关于方法重载
1.方法重载的条件:
①方法名必须要完全一致;
②方法所带的参数个数、参数顺序、参数类型至少一个不同。(与返回值无关)

2.生活中什么样的情况要使用方法重载?
普通方法的重载情况:
学习开车、学习打游戏
构造方法的重载情况:

3.如何调用重载后的方法呢?
由调用方法时所给的参数来决定。
例如
在Student类中定义了两个重载函数

public class Student {

    public String name;
    public int score;

    public Student(){
    }

    public Student(int s,String n){
    }

    //定义一个构造方法
    public Student(String name,int score){
        this.name = name;
        this.score =score ;
    }

    protected int study(int s){
        score += s;
        System.out.println(name+"的学分是"+score);
        return 0;
    }

    public void study(){
        score++;
        System.out.println(name+"正在学习中,学分是"+score);
    }

}

调用时:

Student stu = new Student("张三",3);
Student stu2 = new Student("李四",3);

stu2.name = "李四";
stu2.study(10);
stu.study();

关于this关键字
1.当你参数名和属性名完全一致的情况下,给属性名加上”this.”,这样才会表示属性,否则表示的是参数。

this.name=name;                        
//this关键字区分,左边的表示name 属性,右边的表示name参数

2.那么this表示谁呢?
this表示的是的当前调用方法的对象。
假设a对象名在调用方法,那么方法中this就表示a对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值