浅谈Java的类和封装
文章目录
- 前言
- 一、Java的类的定义
- 二、Java的类使用
- 小结
- 三、封装
- 1.绪论
- 一.封装的好处
- 二.private
- 2.封装的定义
- 3.封装小结
- 总结
前言
不知不觉已经五月7号了,明天就是母亲节哦,记得给妈妈一个小惊喜哦,步入正题,让我们来了解一下Java中一个非常重要的部分——封装
一、Java的类的定义
首先我们要明确类的定义步骤
现在我们对知识的了解没那么深入3.4.5.都不需要了解
接下来我们来看代码实现
我们可以定义以一个学生类
描述学生的属性,然后构造学生的动作
可以根据自己的需求自己定义
二、Java的类使用
代码实现为
public class Student {int age;String name;boolean sex;String add;
}
public class lei03 {public static void main(String[] args) {Student s=new Student();System.out.println(s.age);System.out.println(s.name);System.out.println(s.add);System.out.println(s.sex);}
}
这样我们就相当于在堆内存里面new了一个空间存储Student类了
接下来是他的输出结果
"C:\JetBrains\IntelliJ IDEA 2019.2.4\jbr\bin\java.exe" "-javaagent:C:\JetBrains\IntelliJ IDEA 2019.2.4\lib\idea_rt.jar=64402:C:\JetBrains\IntelliJ IDEA 2019.2.4\bin" -Dfile.encoding=UTF-8 -classpath C:\IdeaProjects\heima169work\out\production\day09 lei03
0
null
null
false
系统开始自动给定义的对象赋值,赋值规则如下
我们也可以直接修改Student类中的对象的数据
public class lei03 {public static void main(String[] args) {Student s=new Student();s.age=18;s.name="丽丽";s.add="江西";s.sex=false;System.out.println(s.age);System.out.println(s.name);System.out.println(s.add);System.out.println(s.sex);}
}
输出结果如下
"C:\JetBrains\IntelliJ IDEA 2019.2.4\jbr\bin\java.exe" "-javaagent:C:\JetBrains\IntelliJ IDEA 2019.2.4\lib\idea_rt.jar=64515:C:\JetBrains\IntelliJ IDEA 2019.2.4\bin" -Dfile.encoding=UTF-8 -classpath C:\IdeaProjects\heima169work\out\production\day09 lei03
18
丽丽
江西
false
接下来我们还可以在类中定义方法
public class Student {int age;String name;boolean sex;String add;public void eat(){System.out.println("兰州拉面");}public void doing(){System.out.println("睡觉");}public int add(int a,int b){return a+b;}
}
注意这和我们在main方法中定义方法不一样,我们不能使用static
在main中定义方法则需要这样写
package Test;import javax.swing.*;public class fangfa1 {public static void main(String[] args) {add(1,2);add(1.0,2.0);add(1,2,3);}public static void add(int x,int y){System.out.println(x+y);}public static void add(double x,double y){System.out.println(x+y);}public static void add(int x,int y,int z){System.out.println(x+y+z);}
}
回到类中定义方法,我们去创建一个新对象
public class lei03 {public static void main(String[] args) {Student s=new Student();
// s.age=18;
// s.name="丽丽";
// s.add="江西";
// s.sex=false;// System.out.println(s.age);
// System.out.println(s.name);
// System.out.println(s.add);
// System.out.println(s.sex);s.eat();s.doing();int a=s.add(5,6);System.out.println(a);}
}
运行结果如下
"C:\JetBrains\IntelliJ IDEA 2019.2.4\jbr\bin\java.exe" "-javaagent:C:\JetBrains\IntelliJ IDEA 2019.2.4\lib\idea_rt.jar=64646:C:\JetBrains\IntelliJ IDEA 2019.2.4\bin" -Dfile.encoding=UTF-8 -classpath C:\IdeaProjects\heima169work\out\production\day09 lei03
兰州拉面
睡觉
11
小结
接下来我们拓展一下
我们的类都是写在javabean中的,不能写在main方法中
三、封装
1.绪论
一.封装的好处
二.private
2.封装的定义
那么我们直接上代码吧
package com.itheima.doml.girlfriend;public class girlfriend01 {private int age;private String name;public String getName(){return name;}public void setName(String n) {name=n;}public int getAge(){return age;}public void setAge(int s){age=s;}public void eat(){System.out.println("吃饭");}
}
其中setName为赋值通道
getName为获取通道
age和name的操作类似
接下来我们new一个对象来调用这个类看看
package com.itheima.doml.girlfriend;public class test {public static void main(String[] args) {girlfriend01 g=new girlfriend01();
// g.eat();
// g.setAge(18);
// g.setName("小月月");System.out.println(g.getAge());System.out.println(g.getName());}
}
他的大部分操作和平时类里面定义方法类似
接下来运行看看结果
"C:\JetBrains\IntelliJ IDEA 2019.2.4\jbr\bin\java.exe" "-javaagent:C:\JetBrains\IntelliJ IDEA 2019.2.4\lib\idea_rt.jar=65305:C:\JetBrains\IntelliJ IDEA 2019.2.4\bin" -Dfile.encoding=UTF-8 -classpath C:\IdeaProjects\heima169work\out\production\day10 com.itheima.doml.girlfriend.test
0
null
这些是系统默认赋的值
和类里面定义方法一样,我们也可以修改其中的值
代码如下
package com.itheima.doml.girlfriend;public class test {public static void main(String[] args) {girlfriend01 g=new girlfriend01();g.eat();g.setAge(18);g.setName("小月月");System.out.println(g.getAge());System.out.println(g.getName());}
}
运行试试
"C:\JetBrains\IntelliJ IDEA 2019.2.4\jbr\bin\java.exe" "-javaagent:C:\JetBrains\IntelliJ IDEA 2019.2.4\lib\idea_rt.jar=65335:C:\JetBrains\IntelliJ IDEA 2019.2.4\bin" -Dfile.encoding=UTF-8 -classpath C:\IdeaProjects\heima169work\out\production\day10 com.itheima.doml.girlfriend.test
吃饭
18
小月月
这下子我们将里面的变量都修改成我们想要的结果了
3.封装小结
总结
封装为Java中非常重要的部分,对此我也是仅仅发表自己个人的浅薄理解,希望以后能够慢慢完善,深入理解
最后祝大家天天开心,生活快乐
浅谈Java的类和封装相关推荐
- 小浩浅谈Java三特性(封装,继承,多态)
1.封装,什么是封装,谈谈自己对封装的理解,封装就是将类的信息(比如说类的属性)隐藏在类的内部,不允许外部程序直接访问.此时就要提到一个关键字private,他是一个权限修饰符,可以用来修饰成员(变量 ...
- java什么是枚举_【JAVA】浅谈java枚举类
一.什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二.为什么不用静态常量来替代枚举类呢? public static final int SEASO ...
- java枚举后面括号是什么意思_浅谈java枚举类
>>> 学习交流群 < < < 一.什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二.为什么不用静态常量来代替枚 ...
- java接口与类相同不同_浅谈java的接口和C++虚类的相同和不同之处
C++虚类相当于java中的抽象类,与接口的不同之处是: 1.一个子类只能继承一个抽象类(虚类),但能实现多个接口 2.一个抽象类可以有构造方法,接口没有构造方法 3.一个抽象类中的方法不一定是抽象方 ...
- 浅谈Java多线程机制
浅谈Java多线程机制 (-----文中重点信息将用红色字体凸显-----) 一.话题导入 在开始简述Java多线程机制之前,我不得不吐槽一下我国糟糕的IT界技术分享氛围和不给力的互联网技术解答深度. ...
- java 中的单元测试_浅谈Java 中的单元测试
单元测试编写 Junit 单元测试框架 对于Java语言而言,其单元测试框架,有Junit和TestNG这两种, 下面是一个典型的JUnit测试类的结构 package com.example.dem ...
- 浅谈 Java Printing
浅谈 Java Printing 其实怎么说呢?在写这篇博文之前,我对java printing 可以说是一无所知的.以至于我在敲文字时, 基本上是看着api文档翻译过来的.这虽然看起来非常的吃力, ...
- java对象头_浅谈java对象结构 对象头 Markword
概述 对象实例由对象头.实例数据组成,其中对象头包括markword和类型指针,如果是数组,还包括数组长度; | 类型 | 32位JVM | 64位JVM| | ------ ---- | ----- ...
- 浅谈Java中的Set、List、Map的区别
就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...
- 浅谈Java网络编程之Socket (2)
<浅谈Java网络编程之Socket (1)>中我们已经和大家说到客户端的网络编程,下面和大家分享的是服务器的实现代码. import java.net.*; import java.io ...
最新文章
- struts2框架从数据库批量取得数据集并在前台页面循环显示
- 【数据库】将Excel导入达梦数据库,并执行表合并
- C++Builder中开发Activex
- 关于JUnit5 你必须知道的(一) JUnit5架构和环境搭建
- SAP CRM里是如何检测一个BP是否存在的 - FM BP_CENTRALPERSON_GET
- NodeJs-- 新建项目实例
- android java 调试快捷键_Android Studio 代码页跳界面 /java和XML快速切换技巧
- 练习4-11 统计素数并求和(20 分)
- 「ruby/MiniMagick」用MiniMagick处理图片
- SDOI2010 代码拍卖会
- iOS底层探索之多线程(六)—GCD源码分析(sync 同步函数、async 异步函数)
- 台电 平板电脑 html,颜值与功能兼备 台电X6 Pro二合一平板评测
- Microsoft .NET Framework 4 安装 1603错误的解决
- 腾讯云TRTCCalling实时音视频说明文档
- Winform UI界面设计例程——侧边框栏折叠
- 腾讯公布员工数据:超 30 岁员工占近六成
- 【博闻强记】java来发送邮件
- unity3D多点测量、多边形面积测量
- 【第九章】vim程序编辑器
- unity 创建自己的像素地图 TileMap