Java十分钟精通类 封装 继承
作者:AiY.. 时间:2023-11-25 10:55:58
类与对象:
类是抽象的数据类型,对象是抽象的数据类型的具体化。
使用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
标签:Java,继承,封装,类
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
以Java代码为例讲解设计模式中的简单工厂模式
2023-02-09 15:14:17
![](https://img.aspxhome.com/file/2023/7/79157_0s.jpg)
一文带你搞懂Java8的LocalDateTime
2023-11-10 02:02:22
![](https://img.aspxhome.com/file/2023/4/59234_0s.png)
Unity实现主角移动与摄像机跟随
2023-09-14 09:32:05
![](https://img.aspxhome.com/file/2023/2/119502_0s.jpg)
Android开发中应用程序分享功能实例
2021-05-27 20:38:46
浅析Java内存模型与垃圾回收
2023-11-23 06:11:58
![](https://img.aspxhome.com/file/2023/5/59965_0s.png)
Java实现插入排序,希尔排序和归并排序
2022-02-24 18:45:52
![](https://img.aspxhome.com/file/2023/8/116248_0s.png)
解决JAVA遍历List集合,删除数据时出现的问题
2021-12-25 15:38:03
SpringMVC编程使用Controller接口实现控制器实例代码
2023-02-01 02:03:36
Unity3D使用UGUI开发原生虚拟摇杆
2021-10-04 17:28:26
![](https://img.aspxhome.com/file/2023/6/91236_0s.gif)
详解Java8中Optional的常见用法
2022-04-30 14:32:21
SpringMVC中转发与重定向的区别浅析
2023-10-15 23:13:36
Java中常用的设计模式之装饰器模式详解
2021-08-28 07:59:15
![](https://img.aspxhome.com/file/2023/0/88180_0s.png)
Java8深入学习系列(一)lambda表达式介绍
2021-08-20 11:23:19
![](https://img.aspxhome.com/file/2023/4/132004_0s.png)
C#中累加器函数Aggregate用法实例
2023-03-21 10:28:30
Android6.0获取动态权限代码示例
2022-07-22 10:35:15
java高并发的并发级别详解
2023-08-05 15:44:38
![](https://img.aspxhome.com/file/2023/9/78259_0s.jpg)
Android开发返回键明暗点击效果的实例代码
2022-06-08 06:39:27
![](https://img.aspxhome.com/file/2023/2/137802_0s.png)
在Kotlin开发中如何使用集合详解
2022-03-06 02:22:30
Android 短信转换成彩信的消息数量(实例代码)
2021-11-13 13:01:58
Java使用entrySet方法获取Map集合中的元素
2022-08-06 17:41:05