Java封装(面向对象)

这个是大三来的时候刚开始又捡起来了java这个语言,以前是开设过这个课程的,但是上课都没哈好听讲,现在又开始学习java类的。

首先附上黑马程序员的一张听课截图吧

我就拿我在黑马程序员的例子上给自己的一个讲解吧

首先是javabean类

复制代码
package google;

public class GirlFriend {
    private String name;
    private int age;
    private String gender;

    public void setName(String n){
        name = n;
    }

    public String getName(){
        return name;
    }

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

    public int getAge(){
        return age;
    }

    public void setGender(String g)
    {
        gender = g;
    }

    public String getGender(){
        return gender;
    }

    public void sleep(){
        System.out.println("女朋友正在睡觉");
    }

    public void eat(){
        System.out.println("女朋友正在吃饭");
    }
}

java的bean类我想说的是,主要是里面的private这个权限修饰符,也就是私人的,这个就是只能在本类中访问,然后就是定义完一个private之后就需要写函数,一个是setXxx()一个是getXxx()这个不要问为什么这样定义,因为这个就是内部规定的,这样子也好理解,你定义一个之后,首先设置一个函数,其次得到一个函数,那么这个变量就定义成功了。

其次是java主类

复制代码
package google;

public class GirlFriendTest {
    public static void main(String[] args) {
        GirlFriend gf1 = new GirlFriend();

        gf1.setName("YiFei Liu");
        gf1.setAge(18);
        gf1.setGender("女");

        System.out.println(gf1.getName());
        System.out.println(gf1.getAge());
        System.out.println(gf1.getGender());

        gf1.sleep();
        gf1.eat();

    }
}

这个主类也是一样的,在上述javabeam类定义完private之后,那么在主类也是要先setXxx,在getXxx,也就是这样理解,我拿这个东西,我先设置一个,我在用,就是这个意思。

相关推荐
方也_arkling7 小时前
【Java-Day08】static / final / 枚举
java·开发语言
橙淮7 小时前
Spring Bean作用域与生命周期全解析
java·spring
风吹夏回7 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
Chengbei117 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
llz_1127 小时前
web-第一次课后作业
java·开发语言·idea
小熊Coding8 小时前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
秋98 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本8 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
xiaoshuaishuai88 小时前
C# 内存管理与资源泄漏
开发语言·c#
DIY源码阁8 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse