面向对象(一)

一.类与对象的定义

(1)类(设计图):是对象共同特征的描述:

(2)对象:是真实存在的具体东西。

在Java中,必须先设计类,才能获取对象。

二.如何定义类

public class 类名{

1.成员变量(代表属性,一般是名词)
2.成员方法(代表行为,一般是动词)
3.构造器
4.代码块
5.内部类

}

三.如何获得对象

类名 对象名=new 类名()

        

四.拿到对象后能做什么?

对象.成员变量;

对象.成员方法(...)

五.定义类的补充注意事项

用来描述一类事物的类,专业叫做:Javabean类。

在javabean类中,是不写main方法的。

在以前,编写main方法的类,叫做测试类。

我们可以在测试类中创建javabean对象并进行赋值调用。

六.类名的注意事项

(1)类名首字母建议大写,需要见名知义,驼峰模式。

(2)一个java文件中可以定义多个class类,且只能有一个类是public修饰,而且public修饰的类名必须成为代码文件名。

实际开发中建议还是一个文件定义一个class类。

(3)成员变量的完整格式是:修饰符  数据类型 变量名称 =初始化值;   一般无需指定初始化值,存在默认值。

七.默认初始化值规则

七.prviate关键字

(1)作用:prviate这个关键字可以修饰成员变量和成员方法。

使用prviate修饰的成员变量,只能在本类中进行访问,使定义的变量更加合理。

(2)案例:

可以看到提示变红了。

 (3)案例

     s.age = -20;

代码没有报错,但是不合理。

验证:alt+ins 快速生成

我们可以使用set和get方法来,限制变量。

代码:

   public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if (age >= 0 && age <= 100) {
            this.age = age;
        } else {
            System.out.println("非法参数");
        }
    }

 s.setAge(-20);

这样就限制了传递。

八.就近原则和this关键字

(1)成员变量和局部变量

局部变量:定义在方法里面的变量就是局部变量。

成员变量:定义在方法外面类里面的变量。

(2)案例( 不加this的情况下)

package ceshi;

public class Student1 {

    String name;
    int age; //0

    public void sleeep() {
        int age = 10;
        System.out.println(age);
    }
}
package ceshi;

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


        s.sleeep();

    }
}

(3)案例( 加this情况)

package ceshi;

public class Student1 {

    String name;
    int age; //0

    public void sleeep() {
        int age = 10;
        System.out.println(this.age);
    }
}

(4)总结

根据就近原则,没加this,就在自己的局部变量去找,局部变量打印有age10。

如果有this,先去成员变量进行查找,这里的this其实也是一个地址值,所以打印的默认值0

九.构造方法

(1)概念

构造方法也叫构造器,构造函数。

作用:在创建对象的时候给成员变量进行赋值的。

(2)构造方法的格式

public  class  Student{ 

 修饰符 类名(参数){
  方法体;
}

}

(3)特点

1.方法名与类名相同,大小也要一直。

2.没有返回值,连void都没有

3.没有具体的返回值(不能由rerurn带回结果数据)

(4)空参构造

如果自己没有写任何的构造方法,虚拟机会加上空参的构造方法。

(5)有参构造--在创建变量的同时 赋值。

当我们创建对象的时候,系统会根据后面的参数,自动去调用构造函数。

省的自己去set。

(6)实际开发

空参构造和有参构造一起写

(7)构造方法的概述

创造对象的时候,虚拟机会自动调用构造方法,作用是给成员变量初始化的。

       

八.一个标准的Javabean类

1.类名需要见名知意

2.成员变量使用prviate修饰。

3.提供至少两个构造方法

(1)无参构造方法

(2)有参构造方法

4.成员方法

(1)提供每一个成员变量对应的setXxx()/getXxx()

(2)如果还有其他行为,也需要写上。

5.练习

package ceshi;

public class Student1 {

    private String username;
    private String password;

    public Student1() {

    }

    public Student1(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值