面向对象编程 中 类与对象的创建 及 类中 构造器的使用方法 解析

本文详细介绍了Java中的面向对象编程概念,包括静态方法与非静态方法的区别,如何通过对象引用传递属性,以及类与对象的定义。在Java中,静态方法属于类,而非静态方法需通过对象调用。构造器在对象创建时被调用,用于初始化对象。此外,文章还讨论了无参和有参构造器的使用,并强调了定义有参构造器后需要显示定义无参构造器的重要性。
摘要由CSDN通过智能技术生成

面向对象编程

java 是一种面向对象编程语言,面向对象是一种分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些问题进行单独思考,最后才对某个类下的细节进行面向过程的思索。面向对象编程的本质就是 以类的方法组织代码,以对象的组织封装数据

静态方法与非静态方法

在对类的方法的调用中有两种调用方法:

一、 静态方法

在方法中需要用到static修饰符,会与主函数一起在内存的方法体中加载。

public class Person {
    public static void main(String[] args) {
        Student.say();
    }
}
class Student {
    //静态方法
    public static void say(){
        System.out.println("学生说话了");
    }
}
//输出结果为  学生说话了

二、非静态方法

方法没有static修饰,那么在主类中想要调用该方法则必须先创建一个对象,使该类实例化才可以通过该对象调用这个非静态方法。

public class Person {
    public static void main(String[] args) {
        Student student=new Student();
        student.say();
    }
}
class Student {
    //静态方法
    public void say(){
        System.out.println("学生说话了");
    }
}

引用传递

public class Person {
    public static void main(String[] args) {
        Studnet person=new Studnet();
        person.name="帅哥";
        System.out.println(person.name);
        change(person);
        System.out.println(person.name);
    }
    public static void  change(Studnet student){
        student.name="美女";
    }
}
class Studnet {
    String name;
}
//输出结果是:
//帅哥
//美女

类与对象

类:是一种抽象的概念,它是一系列具有 共同属性或行为特征 的物体抽象出的对那些共有属性与行为特征的一种描述的结构,它是对一系列具体事物的描述,但不能代表某一个具体值。

对象:类中的一个具体概念,拥有具体的属性值,及对象是类的实例化。

例如:螃蟹是一个类;而花旦蟹,帝王蟹就是这个类的具体的对象。

使用new关键字创建对象的时候,除了分配内存空间外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。

public class Person {
    public static void main(String[] args) {
        //声明类的对象Bob,Alice
        Studnet Bob=new Studnet();
        Studnet Alice=new Studnet();
        Bob.name="Bob";
        Alice.name="Alice";
        Bob.age=13;
        Alice.age=12;
        Bob.manner();
        Alice.say();
    }
}
//声明一个抽象的学生类
class Studnet {
    //学生类的共有属性:姓名,年龄
    String name;
    int age;
    //学生类的共有方法
    public void manner(){
        System.out.println(this.name+" is studying!");
    }
    public void say(){
        System.out.println(this.name+" say I am "+this.age+" years old.");
    }
}
/*
输出为:
Bob is studying!
Alice say I am 12 years old.
*/

构造器

构造器也称为构造方法,是在进行创建对象的时候必须要调用的,并且构造器有以下两个特点:

1.必须和类的名字相同

2.必须没有返回类型,也不能写void

构造器分为无参构造器与有参构造器

  • 作用:new本质是在调用构造函数;可以为对象声明初始值;

  • 无参构造器
    在这里插入图片描述

  • 有参构造器
    在这里插入图片描述

注意点:定义了有参构造函数后如果要使用无参构造,需要显示定义的一个无参构造。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值