JavaSE补充(面向对象初级,高级)

1设计对象并使用,2.对象内存图,3构造器,4this关键字,5封装,6标准JavaBean,7成员变量和局部变量区别,8面向对象综合案例

设计对象并使用

设计类:
public class 类名{
1.成员变量,代表属性
2.成员方法,代表行为
3.构造器
4.代码块
5,内部类
}

类(首字母大写,驼峰模式):类是设计图,共同特征的描述
对象:是真实存在的具体实例
开发中一个文件定义一个class类
成员变量的完整定义格式:修饰符 数据类型 变量名称 = 初始化值;
一个代码文件可以定义多个类,只能一个类public修饰,public修饰i类名必须是Java代码文件名称

2.对象内存图

两个变量指向同一个对象

3构造器

构造器:可以用于初始化一个类的对象,并返回对象的地址
构造器格式:
修饰符 类名(形参列表){

}
public class Car{
public Car(){}
public Car(String n ,double p ){}
}

Car c = new Car();
Car c1 = new Car(“奔驰”,39.8);
无参构造器默认存在:初始化对象时,成员变量的数据均采用默认值
有参构造器在初始化对象的时候,同时可以接收参数作为对象进行赋值;

this关键字

可以用于指定访问当前对象的成员变量,成员方法
this相当于该类
this关键字出现在构造器和成员方法中,代表当前对象的地址
this关键字在构造器中,成员方法中可以指定访问当前对象的成员

public class Car {
String name;
double price;
public Car(String name,double price){
this.name = name;
this.price = price;
}
}

封装

封装原则:对象代表什么,就要封装对应的数据,提供数据对应的行为(圆被画,不是人画圆)
人关门:门自己关自己
封装优势:让编程更简单,有什么需要直接找对象,调方法

getter setter方法


public class test {
    public static void main(String[] args) {
        Student s = new Student();

        s.setAge(20);
        System.out.println(s.getAge());
    }
}

public class Student {
    private int age;

    public void setAge(int age){
        if(age>=0 &&age<=200){
            this.age=age;
        }else {
            System.out.println("年龄数据有问题");
        }
    }
    public int getAge(){
        return age;
    }
}

标准JavaBean

JavaBean:成员变量使用private,提供成员变量对应的set/get方法
必须提供无参构造器,有参构造器可有可无


public class test {
    public static void main(String[] args) {
        User u1 = new User();
        u1.setName("吴彦祖");
        u1.setHeight(180);
        u1.setSalary(2000);

        System.out.println(u1.getName());
        System.out.println(u1.getHeight());
        System.out.println(u1.getSalary());
    }
}

public class User {
    private String name;
    private double height;
    private double salary;

    public User() {
    }

    public User(String name, double height, double salary) {
        this.name = name;
        this.height = height;
        this.salary = salary;
    }

    public String getName() {
        return name;
    }

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

    public double getHeight() {
        return height;
    }

    public void setHeight(double height) {
        this.height = height;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

}

成员变量和局部变量的区别

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值