01、java05-类与对象、封装、构造方法

1、类的基本使用:一般按照javabean风格来,不会这样简单定义

--暂时我们就讲封装,不是简单的搞个函数就可以了,希望认真看

--类:这里我们可以理解为一个模板,我们之前学过的int boolean short这些都可以实例化一个对象出来,其实也可以视为类

--类包含了 属性 和 方法
    --属性:事物的状态信息,就是成员变量
    --方法:事物的行为,就是成员方法

--初级的 类定义和使用:
    public class ClassName {
        //成员变量:
        //成员方法:
    }

--初级实例:这里成员变量默认public,容易被直接调用而改变不安全
    public class Student {
        //成员变量
        String name;//姓名
        int age;//年龄

        //成员方法
        //学习的方法
        publicvoid study() {
            System.out.println("好好学习,天天向上");
        }
        //吃饭的方法
        publicvoid eat() {
            System.out.println("学习饿了要吃饭");
        }
    }



--调用:记住一个文件夹中只能有一个public class,否则会报错
--导入包可以先新建包,将所有类放在一个包中/或几个包中看情况导入使用即可
    public static void main(String [] args){
        Student stu = new Student();
        stu.student = "lalalalal";
        System.out.println(stu.student);
    }


--对于两个对象来自于同一个类的实例时,其属性是各自独有的,方法是共享的,只需要拿着方法标记在方法区中找到对应的方法即可调用

2、成员变量

--成员变量:类中 方法外 有初始化值 堆内存
--局部变量:类中 方法中 没有初始化值 栈内存

3、封装

封装:不简单是将动作写在方法中,而且封装变量值使其不能直接被调用,提供函数get set用于设置和取值

--private关键字:限制访问

--使用格式如下:
    private 数据类型 变量名 ;

--private为权限修饰符,代表最小权限。可以修饰成员变量和成员方法,被private修饰后的成员变量和成员方法,只在本类中才能访问。

--this关键字:自我调用,用于赋值以及类中其他需要使用自身的场合
             代表所在类的当前对象的引用(地址值),即对象自己的引用。

--示例如下:
    public class Student {
        private String name;
        private int age;

        public void setName(String name) {
            //name = name;  # 一般这种情况下需要区分自身和形参,之所以形参和成员变量名一样也是为了方便API的阅读
            this.name = name;
        }

        public String getName() {
            return name;
        }

        public void setAge(int age) {
            //age = age;
            this.age = age;
        }

        public int getAge() {
            return age;
        }
    }

4、构造函数

--每一个类都有一个构造方法,默认是无参数构造方法
--如果自定义构造方法,则系统不会使用默认的构造方法

--构造方法:和类型名一致
    修饰符 构造方法名(参数列表){ //构造方法名 == 类名
        // 方法体
    }

--注意:构造方法没有返回值类型,以下是普通方法基本格式:
    修饰符 返回值类型 方法名(参数列表){
        函数体
    }

--构造方法,[无参数] 和 [有参数]如下所示:
    public class Student {
        private String name;
        private int age;

        // 无参数构造方法
        public Student() {}
        // 有参数构造方法
        public Student(String name,int age) {
            this.name = name;
            this.age = age;
        }
    }

--构造方法注意事项:
    1. 如果你不提供构造方法,系统会给出无参数构造方法。
    2. 如果你提供了构造方法,系统将不再提供无参数构造方法。
    3. 构造方法是可以重载的,既可以定义参数,也可以不定义参数。

5、javaBean风格编码

JavaBean 是 Java语言编写类的一种标准规范。符合 JavaBean 的类,要求类必须是具体的和公共的,并且具有无参数的构造方法,提供用来操作成员变量的 set 和 get 方法。

--javabean模板:
    public class ClassName{
        //成员变量
        //构造方法
        //无参构造方法【必须】
        //有参构造方法【建议】
        //成员方法
        //getXxx()
        //setXxx()
    }

--一个标准javabean定义方式
    public class Student {
        //成员变量
        private String name;
        private int age;

        //构造方法
        public Student() {}
        public Student(String name,int age) {
            this.name = name;
            this.age = age;
        }

        //成员方法
        public void setName(String name) {
            this.name = name;
        }
        public String getName() {
            return name;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public int getAge() {
            return age;
        }
    }

--javabean使用
    public static void main(String[] args) {
        //无参构造使用
        Student s= new Student();
        s.setName("柳岩");
        s.setAge(18);
        System.out.println(s.getName()+"‐‐‐"+s.getAge());

        //带参构造使用
        Student s2= new Student("赵丽颖",18);
        System.out.println(s2.getName()+"‐‐‐"+s2.getAge());
    }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值