栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java面向对象,封装基础练习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java面向对象,封装基础练习

1.1面向过程:是一种编程思想,强调的是过程,凡事亲力亲为。 1.2面向对象:是一种编程思想,强调的是结果。 2.面向对象的三大特征:         1)封装         2)继承         3)多态 3.类和对象        类:是抽象的,类似于类型,我么你可以将其理解为一类事物的模板         对象:是具体的,是根据类具体创造出来的事物 4.面向对象入门案例
package cn.tedu.oop;

public class TestGreateClass {
    public static void main(String[] args) {
        //4.通过new关键字创建对应类的对象
        Phone p = new Phone();
        //5.通过创建好的对象使用类中的功能
        p.call();
        p.message();
        p.video();
        //6.通过创建好的对象查看属性值
        System.out.println(p.brand);
        System.out.println(p.price);
        System.out.println(p.color);
        System.out.println(p.size);
        //7.创建手机类的第二个对象
        Phone p2 = new Phone();
        System.out.println(p2);
        //8.通过p2对象调用Phone类的三个功能
        p2.video();
        p2.message();
        p2.call();
        //9.给p2对象的属性赋值并查看
        p2.brand = "华为";
        p2.price = 8888.88;
        p2.size = 5.6;
        p2.color = "宝石蓝";
        System.out.println("手机品牌是:"+p2.brand);
        System.out.println("手机颜色是:"+p2.color);
        System.out.println("手机价格是:"+p2.price+"元");
        System.out.println("手机大小是"+p2.size+"寸");

    }
}
//1.通过class关键字创建手机类--用来描述手机这一类事物
//类是一类事物的抽象,用来描述这一类事物的特征与行为
class Phone{
    //特征(属性)--类的成员变量来描述--定义在类方法外的变量
    String brand;//品牌
    double price;//价格
    double size; //尺寸
    String color;//颜色

    //3.定义手机的功能--类的方法来描述--修饰符 返回值类型 方法名(参数列表){方法体}
    public void call(){
        System.out.println("正在打电话~");
    }
    public void message(){
        System.out.println("正在发短信~");
    }
    public void video(){
        System.out.println("正在看片~");
    }
}
package cn.tedu.oop;
//本类用于面向对象巩固
public class TestCat {
    public static void main(String[] args) {
        Cat m = new Cat();
        m.jump();
        m.miaoMiao();
        System.out.println(m);
        //6.创建小猫的对象2
        Cat m2 = new Cat();
        m2.jump();
        m2.miaoMiao();

        m.name = "黑炭";
        m.age = 3;
        m.hosts = "静静";
        m2.name = "煤球";
        m2.age = 2;
        m2.hosts = "爱丽丝";
        System.out.println("小猫的名字是:"+m.name);
        System.out.println("小猫"+m.age+"岁啦~");
        System.out.println("小猫的主人是:"+m.hosts);
        System.out.println("小猫的名字是:"+m2.name);
        System.out.println("小猫"+m2.age+"岁啦~");
        System.out.println("小猫的主人是:"+m2.hosts);
    }
}

//1.通过class关键描述小猫这一类事物
class Cat{
    //2.属性
    String name;
    int age;
    String hosts;
    //3.功能
    public void jump(){
        System.out.println("小猫跳的老高了");
    }
    public void miaoMiao(){
        System.out.println("小猫喵喵叫~~~~");
    }
}
5.面向对象的第一大特性--封装         封装属性的思路:1.用private修饰资源                               2.提供公共的get方法,用来获取值                               3.提供巩固的set方法,用来设置值         封装方法的思路:1.用private修饰资源                                      2.用本类的公共方法调用这个被封装方法的功能
package cn.tedu.oop;

public class TestPrivate2 {
    public static void main(String[] args) {
        //4.创建学生类对象
        Student s = new Student();
        //5.通过对象操作学生类的属性与方法
        System.out.println(s.name);
        s.study();
        //6.1通过对象修改属性的值,并打印查看
//        s.subject = "java培优";
//        System.out.println(s.subject);
        s.name = "陈平安";
        System.out.println(s.name);
//        s.sno = 20210929;
//        System.out.println(s.sno);
        //6.4 调用自动生成的set与get方法
        s.setSubject("CGB");
        System.out.println(s.getSubject());

        //7.3调用get与set方法操作被封装的属性
        s.setSno(21090929);
        int r = s.getSno();
        System.out.println(s.getSno());

    }
}


//1.使用class关键字描述学生这一类型
class Student{
    //2.学生属性:学号,姓名,科目
    //7.1使用private关键字封装属性
    private int sno;

    public int getSno() {
        return sno;
    }

    public void setSno(int sno) {
        this.sno = sno;
    }

    String name;
    //6.2使用private修饰subject属性
    private String subject;
    //右键-Generate-getter and setter-再点那个锁-点ok
    //7.2添加被封装属性的get和set方法

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    //3.学生功能:学习,吃饭,睡觉
    public void study(){
        System.out.println("别吵,学习呢~");
    }
    public void eat(){
        System.out.println("干饭不积极,思想有问题~");
    }
    public void sleep(){
        System.out.println("我一点也不想睡觉,我想学Java");
    }
}

封装的必要性

package cn.tedu.oop;
//本类用于测试封装的必要性
public class TeatPrivate1 {
    public static void main(String[] args) {
        //3.创建对象修改属性值
        User u = new User();
        u.name = "葫芦娃";
        System.out.println(u.name);
        //u.money = 1000000;
        //System.out.println(u.money);
        //6.调用查看余额的方法
        System.out.println(u.getMoney());
        //7.调用设置余额的方法,设置余额为999999
        u.setMoney(999999);
        //设置完,通过获取money的方法再次查看余额值
        System.out.println(u.getMoney());

    }
}

//1.创建一个用户类
class User{
    //2.定义用户类的属性
    public String name; //姓名
    //4.为了更安全的操作余额,修改money的修饰符为private
    
    private double money=10000;//账户余额
    //5.1提供公共的方法共外界调用,方法的功能:获取余额
    public double getMoney(){
        
        
        return money;
    }
    //5.2提供公共的方法共外界调用,方法的功能:修改余额
    public void  setMoney(double newMoney){
        
        money = newMoney;//将调用方法时传入的值newMoney设置给成员变量money
    }
}

面向对象巩固练习

package cn.tedu.oop;

public class TestCar {
    public static void main(String[] args) {
        //4.在公共类当中创建汽车类对象
        Car c = new Car();
        //5.设置创建好的对象的属性值
//        c.brand = "BWM";
//        c.color = "黑色";
//        c.price = 300000;
//        c.length = 3.2;
        //6.查看设置好的属性
//        System.out.println(c.brand);
//        System.out.println(c.color);
//        System.out.println(c.price);
//        System.out.println(c.length);
        //7.3操作set方法给所有属性赋值
        c.setBrand("布加迪威龙");
        c.setColor("暗夜黑");
        c.setPrice(40000000);
        c.setLength(3.3);
        //7.4操作get方法查看属性的赋值是否成功
        System.out.println(c.getBrand());
        System.out.println(c.getColor());
        System.out.println(c.getPrice());
        System.out.println(c.getLength());
        //8.通过创建好的对象调用汽车类的功能
        c.start();
        //c.stop();

    }
}
//1.抽象汽车这一类事物的共同点,用class描述
class Car{
    //2.属性--用成员变量来描述
    //7.1封装所有属性
    private String brand;//品牌
    private String color;//颜色
    private double price;//价格
    private double length;//车长

    //3.功能--用方法来描述
    public void start(){
        System.out.println("汽车启动了~");
        //9.2在本类的公共方法里调用被封装的方法
        stop();
    }
    //9.1用private封装汽车停止的方法
    private void stop(){
        System.out.println("汽车停止了~");
    }
    //7.2生成所有属性对应的get和set方法

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }

    public double getLength() {
        return length;
    }

    public void setLength(double length) {
        this.length = length;
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318311.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号