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
0
投稿
猜你喜欢
- instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:boolean result = o
- 实验目的在C#和Rest/Restful以及其它的Web服务交互过程中,大量使用到JSON传递数据,如何快捷的转化C#对象到JSON和转化J
- 1.返回String“长度”方法你如何确定给定String的长度?java提供了一种称为“length()”的方法。将它用于您需要查找Str
- 由Lombok的@AllArgsConstructor注解引发的错误需求:在Service实现中写了一个方法调用第三方接口同步数据。 功能代
- 一、定界符成帧Framer接口package framer;import java.io.IOException;import java.i
- 一、安装activeMQLinux环境ActiveMQ部署方法:https://www.aspxhome.com/article/16232
- 命令仓库 Ctrl + Shift + A 可以搜集对应命令快捷键1、基础快捷键1.1、无处不在的跳转项目之间的跳转1.1.1、项目项目之间
- 1,添加依赖在project的build.gradle文件中添加dependencies { classpath 'co
- Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindServ
- Mybatis-Plus是一个优秀的Mybatis增强工具,目前更新到3.1.1。Mybatis-Plus原生提供了很多单表操作的方法,极大
- Android中获取资源 id 及资源 id 的动态获取我们平时获取资源是通过 findViewById 方法进行的,比如我们常
- 一、栈(Stack)1、什么是栈?栈其实就是一种数据结构 - 先进后出(先入栈的数据后出来,最先入栈的数据会被压入栈底)什么是java虚拟机
- 综述在Android系统中,出于对性能优化的考虑,对于Android的UI操作并不是线程安全的。也就是说若是有多个线程来操作UI组件,就会有
- 其他的不多说了!我们来看看效果吧 一、实现方式一:直接引入compile方式A
- 直接用英文逗号分隔就可以了,比如:inerface IHello { String sayHello(String name);
- 一、什么是备忘录模式定义:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态
- Executor接口基于以下方法可以完成增,删,改查以及事务处理等操作。事实上,mybatis中的所有数据库操作是通过调用这些方法实现的。p
- 一、概要1.Java虚拟机(Jvm)是什么?2.Java虚拟机是用来干什么的?3.Java虚拟机它的体系结构是什么样子的?4.Java虚拟机
- 复合语句Java的复合语句是以整个区块为单位的语句,由{}以及{}内包含的内容组成对于复合语句来说,复合语句创建了一个局部变量的作用域,该作
- 今天重新装了编译器,结果崩无极限,真是日了狗了了。刚刚才知道问题在哪边。好了,说正事,对于ios开发我没接触,不是很了解,百度了半天,差不多