Java十分钟精通类 封装 继承
作者:AiY.. 发布时间:2023-11-25 10:55:58
标签:Java,继承,封装,类
类与对象:
类是抽象的数据类型,对象是抽象的数据类型的具体化。
使用new 关键字创建对象,默认初始化为null
一个项目只存在一个main方法,用于测试。
类:(同一个类可以产生不同对象)
只有属性和方法
构造方法:
(1)特点:1、必须和类的名字相同;2、必须没有返回类型,也不能写void
(2)作用:1、使用new关键字,本质是调用构造器;2、初始化对象的值
public Stu() {
this.name = "**";
}
封装:
1、属性私有,get\set private 私有
2、封装提高了程序的安全性,保护数据;隐藏代码的实现细节;统一接口;可维护性
3、在set里面给一些条件满足情况
public int getAge() {
return this.age;
}
public void setAge(int age) {
if(age>0 && age<=100) {
this.age = age;
}
else {
this.age = 33;
}
}
继承:
1、extends 扩展,子类是父类的扩展;
2、继承是类与类之间的关系
public class PM {
public void say() {
System.out.println("我有一个亿");
}
int money = 10000000;
public void setMoney(int money) {
this.money = money;
}
public int getMoney() {
return money;
}
}
子类继承父类的所有属性
public class SE extends PM {
}
Java代码详解:
Studnrt类:
package **;
public class Student extends Collegestudent {
private String name;
private int age;
private char sex;
private String sno;
//对子类的属性进行封装
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age>0 &&age <=100) {
this.age = age;
}
else {
this.age = 22;
}
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
}
collegstudent类:
package **;
public class Collegestudent {
private String school = "******";
private String college = "******";
private String grclass = "******";
//对父类的属性进行封装
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
public String getCollege() {
return college;
}
public void setCollege(String college) {
this.college = college;
}
public String getGrclass() {
return grclass;
}
public void setGrclass(String grclass) {
this.grclass = grclass;
}
}
main类:用于输出:
package **;
public class main {
public static void main(String[] args) {
Student ming = new Student();
ming.setName("**");
//如果年龄不符合实际的条件,就体现封装的作用
ming.setAge(32);
ming.setSex('男');
ming.setSno("201805050254");
System.out.println("我的名字是:"+ming.getName()+",我的年龄是:"+ming.getAge()+",我的性别是:"+ming.getSex()+",我的学号是:"+ming.getSno());
//子类student中没有学校、学院、班级,所以在子类中扩展父类
System.out.println("我的学校是:"+ming.getSchool()+",我的学院是:"+ming.getCollege()+",我的班级为:"+ming.getGrclass());
}
}
来源:https://blog.csdn.net/qq_44859533/article/details/106265662


猜你喜欢
- 一、背景在Web应用开发中,经常需要使用图表来展示数据,而Echarts是一个非常优秀的图表库。SpringBoot是一个非常流行的Java
- 一、前言一个完整的Java应用程序,当程序在运行时,即会调用该程序的一个入口函数来调用系统的相关功能,而这些功能都被封装在不同的class文
- 使用adb or fastboot命令进入高通的9008(edl)模式已经有人写过了,下面两种是其中之一,我再加一个如题,两种方法1. ad
- * 的工作原理如图 * 是由每一个action请求(request)都包装在一系列的 * 的内部,通过redirectAction再一次
- 开发中需要传递变参,考虑使用 dynamic 还是 Dictionary(准确地说是Dictionary<string,object&
- 本文实例为大家分享了ManualResetEvent的使用方法,供大家参考,具体内容如下1. 源码下载:下载地址:ManualResetEv
- Monitor对象1.Monitor.Enter(object)方法是获取锁,Monitor.Exit(object)方法是释放锁,这就是M
- 为了保证服务的高可用,及时发现问题,迅速解决问题,为应用添加log是必不可少的。但是随着项目的增大,方法增多,每个方法加单独加日志处理会有很
- 本文实例讲述了C#实现将记事本中的代码编译成可执行文件的方法,运行环境为VS2012,具体方法如下:1、在记事本中编写如下代码:using
- 本文实例为大家分享了QT实现简单计算器功能的具体代码,供大家参考,具体内容如下效果图:新建工程,创建类MainWindow,基类是QMain
- 最近在开发中遇到一个关于Java方法重写的一些问题,对于方法重写的用法以及可能导致的问题产生了一些思考,本文用于记录下这些想法。问题场景我们
- 本文实例讲述了C#实现xml文件反序列化读入数据到object的方法。分享给大家供大家参考。具体实现方法如下:public static o
- 一:自定义异常类:package 自定义异常; //或者继承RuntimeException(运行时异常) public class MyE
- 场景需要判断,首字母是否是英文字母。有人说,那还不简单么,StringUtils.isAlpha() 就可以搞定。 笔者也是这么想的,结果却
- 首先,通过一张最新(2021.11)的编程语言排名图来了解常见的编程语言:从图中可以看出,C++的排名相对于Python、Java、C来说并
- 本文借由并发环境下使用线程不安全的SimpleDateFormat优化案例,帮助大家理解ThreadLocal.最近整理公司项目,发现不少写
- 本文实例为大家分享了Android实现随手指移动小球的具体代码,供大家参考,具体内容如下这个随手指移动小球,首先要使用paint画笔在can
- 流程:Springboot开发过程还有一个是mybatis的依赖测试接口@RestControllerpublic class Hello
- 这篇文章主要介绍了Java代码块与代码加载顺序原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 一、程序的三种结构顺序结构分支结构循环结构二、条件语句if 语句是最有用的控制结构之一。 if … else …语句的语法:if (布尔表达