Java构造方法与面向对象练习

Java构造方法与面向对象练习

一、构造方法概述
1、构造方法概述和作用
	是为了创建对象,给对象中的成员进行初始化。
2、构造方法格式特点
   (1)方法名和类名一样
   (2)没有返回值类型,连void都没有
   (3)没有具体的返回值
3、构造方法的注意事项
  (1)一般情况下我们没有给出,系统会默认提供一个空参构造。
  (2)若是我们给出了有参构造,系统将不会再提供无参构造,若还是需要无参构造,则需要你自己手动给出。
   

二、面向对象标准学生类
public class Student {
    private  String name;
    private  int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
测试类
public class Mytest {
    public static void main(String[] args) {
        Student student=new Student();
        student.setName("李明");
        student.setAge(22);
        String name=student.getName();
        int age=student.getAge();
        System.out.println(name);
        System.out.println(age);
    }
}

三、面向对象长方形案列
public class Rectangle {
    private int chang;
    private int kuan;

    public Rectangle() {
    }

    public Rectangle(int chang, int kuan) {
        this.chang = chang;
        this.kuan = kuan;
    }

    public int getArea() {
        return this.chang * this.kuan;
    }
    public int getLength() {
        return (chang+kuan)*2;
    }

    public int getChang() {
        return chang;
    }

    public void setChang(int chang) {
        this.chang = chang;
    }

    public int getKuan() {
        return kuan;
    }

    public void setKuan(int kuan) {
        this.kuan = kuan;
    }
}
测试类
public class Mytest {
    public static void main(String[] args) {
        Rectangle rectangle = new Rectangle();
        rectangle.setChang(5);
        rectangle.setKuan(8);
        System.out.println(rectangle.getArea());
        System.out.println(rectangle.getLength());
        System.out.println("******************************");
        Rectangle rectangle1 = new Rectangle(6, 9);
        System.out.println(rectangle1.getArea());
        System.out.println(rectangle1.getLength());
    }
}

四、static关键字

``1、内存图示例:static关键字的内存图

2、特点
(1)随着类的加载而加载
(2)优先于对象而存在
(3)它是共享的,可以被类的所以对象共享
(4)static 可以修饰成员变量,可以修饰成员方法。修饰成员变量,此变量为共享变量,可以被该类的所有对象所共享。
  被静态所修饰的方法,在方法内部,只能访问被静态所修饰的成员。不能访问非静态成员,在静态方法里面不能出现this关键字。(因为他是优先于对象而存在的)
(5)被静态所修的成员,使用类,推荐使用类名调用,对象名调用也可以。(不推荐)
五、成员变量与静态变量的区别
 1、成员变量随着对象的创建而存在,随着对象的消失而消失
    静态变量随着类的加载而存在,随着类的消失而消失,
 2、成员变量存储于堆内存
    静态变量存储于方法区的静态区
 3、成员变量属于对象,也叫做对象变量,实例变量
    静态变量属于类,也叫做类变量
 4、成员变量只能通过对象名来调用
    静态变量推荐使用类名来调用,对象名调用也可以,但不推荐

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值