006-java基础语法之面向对象

006-java基础语法之面向对象

1、类和对象

类:【类具有共同属性 以及行为的实物的抽象】
属性 通过成员变量,定义在类中方法外的变量 数据类型 变量名;
行为 通过成员方法,跟我们之前定义方法比较,少了static

public class 类名{
    成员变量
        成员方法
}

对象: 真实存在的实体

创建对象
类名 对象名 = new 类名();
成员变量:
对象名.属性名
成员方法:
对象名.方法名(参数);

1.1 案例:
//类就相当于是一张设计图

/*
        1. 先创建一个类
        2. 提供属性    数据类型 变量名;[成员变量,类中方法外]
        3. 提供行为    跟我们之前定义方法比较,少了static[成员方法]

 */

// 封装类
public class Student {  //Student  学生
    //姓名
    String name;
    //年龄
    int age;


    //学习
    public void study() {  //study 学习
        System.out.println("键盘敲烂 , 年薪百万");
    }
public class StudentTest { // 学生的测试类
    //作用 : 创建对象 使用对象

    public static void main(String[] args) {
        //s 就是一个对象。它就是Java世界中的一个学生
        Student s = new Student();
        s.name = "张三";
        s.age = 23;
        System.out.println(s.name + "..." + s.age);
        s.study();


        Student s2 = new Student();
        s2.name = "李四";
        s2.age = 24;
        System.out.println(s2.name + "..." + s2.age);
        s2.study();

    }

2、成员变量和局部变量

                                成员变量                    局部变量
                定义位置:        类中方法外                  方法内部或者方法参数列表位置
                内存的位置:      堆内存                      栈内存
                生命周期:        随着对象的创建而创建          随着方法的调用而创建,随着方法的消失而消失
                                随着对象的消失而消失
                初始化值:         有                         没有
/*
    成员变量:定义在类中方法外
    局部变量:定义方法里面,或者方法参数列表


 */
public class Student {
    String name;
    int age;


    public void show(String phoneNumber) {
        int a;
        //   System.out.println(a);
        System.out.println(name);


    }

3、数据的安全性

private : 修饰成员的特点,只能在本类中访问
提供 set 方法,修改/赋值
提供 get 方法,给别的类获取值

4、this 的使用

this 使用原因:成员变量和 局部变量同名的时候,跟进就近原则,方法里面的变量 代表的是 局部变量
             为了区分开 同名的成员变量和 局部变量,我们使用this.
             this 修饰的变量 代表 类中的成员变量

5、构造方法

构造方法:
1.系统会默认给我们提供一个无参构造,如果你写了,系统不给你提供了
2.我们建议,你写构造方法的时候,需要提供无参和 满参构造
3.只能new的时候去调用构造方法,不能手动去调用**【不能通过对象去调用】**

构造方法:
    权限修饰符  类名(){

    }

    a. 方法名和类名一致
    b. 没有void 也没有其他的返回值类型
    c. 也没有return

构造方法的作用 : 创建对象 初始化类的对象,并返回对象的地址 , 有参构造的作用就是在创建对象的同时去给成员变量进行赋值

public class Person{
    String name="张三";
    public Person(){
        name="李四";
    }
    public Person(String name){
        this.name=name;
    }
    public void show(){
        System.out.println(name);
    }
}
public class Test{
    public static void main(String[] args){
        Person p1=new Person();
        p1.show(); //李四
        Person p2=new Person("王五");
        p2.show();//王五
    }
}

6、案例小节练习

1.私有所有的成员变量
2.给所有的成员变量提供对应 get/ set方法
3.给类提供无参 以及 满参构造

public class Student {
    private String name;
    private int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = 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 StudentTest {
    public static void main(String[] args) {
        //无参 + set方法的
        Student s = new Student();
        s.setName("张三");
        s.setAge(23);
        System.out.println(s.getName() + "..." + s.getAge());
        //使用满参创建对象
        Student s2 = new Student("李四" , 24);
        System.out.println(s2.getName() + "...." + s2.getAge());

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值