Java面向对象编程--->构造方法

一、内存分析;

        1、栈:

                ①存放:局部变量;

                ②先进后出,自下而上存储;

                ③方法执行完毕,自动释放空间;

        2、堆:

                ①存放new出来的对象

                ②需要垃圾回收器(GC)来回收:System.gc();

        3、方法区:

                ①存放:类的信息(代码)、static变量、字符串常量等;

二、构造方法

        1、构造方法的使用:<Student student = new Student();>

        2、构造方法:

public class Student{
    String name;
    int age;
    String sex;
    public Student(){
        name = "小明";
        age = 18;
        sex = "男";
        System.out.println("该构造方法被执行");
    public static void main(String[] args){
        Student student = new Student();
        }
    }
}

        3、构造方法的定义:

                ①构造方法与普通方法不同,构造方法没有返回值,且构造方法名与类名相同;

                ②当你没有搭建一个构造方法时,系统会帮你提供一个默认无参的构造方法供你使用;

三、构造方法的重载

        1、自定义构造方法时,系统不再提供默认无参构造方法

        2、方法的重载:①方法名相同②参数项不同③与返回值访问修饰符无关

四、构造器

        1、构造器定义:constructor构造方法

                ①一个在创建对象时被自动调用的特殊方法。

        2、构造器作用:为对象进行初始化(成员变量)工作;

        3、构造器是一种特殊的方法:

                ①构造器的方法名必须和类名一致;

                ②构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能在构                      造器里调用return;

                ③通过new关键字调用;

                ④如果我们没有定义构造器,则系统会自动定义一个无参的构造方法,如果已定义则编                      译器不会添加无参数构造方法!

                ⑤和普通方法一样,构造方法也可以重载;

五、方法调用

        1、形参和实参:

                ①定义方法的参数是形式参数;

                ②调用方法的参数是实在参数;

                ③调用方法是要求参数个数相同,类型兼容;

        2、参数传递:

                ①基本数据类型的参数传递--->无法通过方法调用改变变量的值;

                ②引用数据类型的参数传递--->可以通过方法调用改变变量的 值;

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、学生类的创建和使用 ○1创建一个Student类,包括的域有学号,姓名,性别和年龄,另外增加一个统计学生人数的静态域count; ○2在Student类建立构造方法初始化各域的值,并统计学生人数count; ○3创建分别获得各域(学号,姓名,性别和年龄)的public方法,以及分别设置各域(学号,姓名,性别和年龄)值的public方法(即get、set方法);另外还要创建获取静态域count值的get方法; ○4创建public型的toString方法,把该类的各域信息(学号,姓名,性别和年龄)组合成一个字符串,如:“141308008,小明,男,20岁”; ○5创建Student类的子类CollegeStudent类(大学生类),添加域:专业,静态域count统计大学生人数,建立构造方法并于其中统计大学生人数,并相应添加专业的get、set方法,获取静态域count值的get方法,重写toString方法(把专业信息加进去); ○6创建包含主方法的主类,并在主方法测试Student类与CollegeStudent类:创建Student类的两个对象;输出目前的Student类对象的人数;分别显示对象的各域信息(学号,姓名,性别和年龄;使用toString方法);修改某个对象的姓名和年龄,然后再显示这个对象的姓名和年龄;比较两个对象的年龄大小,输出年龄较大者的对象的所有域信息(toString方法)。创建CollegeStudent类的一个对象;输出目前的CollegeStudent类对象的人数;修改对象的姓名、年龄和专业;然后再显示这个对象的全部信息(调用toString方法,或在println方法中直接输出使其自动调用toString方法)。 注:以上类中所有域都是private类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值