java之旅之类和对象

类和对象


##结构化编程与面向对象编程
结构化编程与面向对象编程区别

  • 结构化编程中:程序围绕解决的任务来设计。
  • 面向对象编程(OOP):程序不是围绕解决的任务来设计,而是围绕问题域中的对象来设计的。

面向对象的解决方案:
1.找对象。对象一定是名词,问题域中出现的任何人、事物或实体,也就是我们所说的“东西”。
2.找到对象后,编写一个类来描述每个对象的属性和行为。
属性:对象身上有什么值数据(由变量与常量组成。)。
行为:对象可以做什么或想要对象做什么。
分析问题域:找对象→抽取(具有相同属性和行为的对象)→编写类(值数据和功能)→类是产生对象的。
万物皆对象,对象因关注而生。类是对象的抽取,对象是类的实例。
语法书写:

类名 变量名 = new 类名();
变量.属性/变量.方法();

**class是关键字,表明定义一个类;
public是访问修饰符,代表在哪里可以访问使用这个类;
细节:如果一个类是public的,那么类名必须和java文件名保持一致;
一个类一篇class文件,class文件的名字只和类名相关。**
属性—会被自动初始化、基本数据类型为0,引用数据类型为null。
this指代当前对象




public class Student {
    //属性---会被自动初始化、基本数据类型为0,引用数据类型为null
    private String name;

    private int age = 18;

    private int score;

    public final String CLASS_NAME = "J134";



    public Student(String name, int age, int score) {
        //this指代当前对象
        this.name = name;
    }

    //行为
    public void study(int num){
        for(int i = 0; i < num; i++){
            System.out.println(this.name + "说:Good Good Study,Day Day Up!");
        }
    }

    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 int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

}

构造方法—作用:产生对象
语法:
1、方法名必须与类名保持一致;
2、构造方法没有返回类型;
构造方法的执行步骤:
1、划分空间;
2、在该空间划分属性;
3、对属性进行初始化;
4、执行我们在构造方法里面书写的代码
细节:
1、如果一个类没有写构造,JVM会给它一个默认的公共无参构造
2、一旦开发人员书写了一个构造方法,不会提供默认构造了
对象中的方法是没有static的。

标准java类(javabean)书写规范


封装

  • 组装-类的定义
  • 信息隐藏
    • 访问修饰符
    • 访问器/修改器
    • 方法的实现

访问器:get变量名。
修改器:set变量名。



public class TeacherBean {

    //属性--变量属性是私有的,并提供符合命名规范的get/set方法
    private String name;

    private int age;

    private String major;

    public final String SCHOOL_NAME = "狼窝教育";

    //构造--必须要有公共无参构造
    public TeacherBean(){

    }

    public TeacherBean(String name, int age, String major) {
        this.name = name;
        this.age = age;
        this.major = major;
    }

    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 String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    //最后书写功能性的方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值