Java-面向对象(继承,封装)

一,什么是面向对象:

对 Java 语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。对象之间通过相互作用传递信息,实现程序开发。

1,类的概念:

类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。类是一种用户定义的引用数据类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。

2,对象的概念:

Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。对象有以下特点:

对象具有属性和行为。
对象具有变化的状态。
对象具有唯一性。
对象都是某个类别的实例。
一切皆为对象,真实世界中的所有事物都可以视为对象。

类是对象的抽象,对象是类的具体。

二,面向对象的三大特征:

封装:把属性私有化,实现了对外界的隐藏,然后通过共有的getter和setter方法对属性进行获取和赋值,保证了操作的安全性,一般属性私有化(private),方法公有化(public),除非方法只是用来内部调用,可以用private修饰。

1,对属性使用private私有化进行修饰,实现了对外界的隐藏,外界不能够直接操作类的属性。

2,定义针对属性的getter和setter方法,完成对属性的获取和设置值,在发放可以完成完全验证。

public方法是共有的,可以直接访问。

/**
 * @author 高影  2022/11/12  22:02
 * @version 1.0
 */
public class Student {
    public String name;
    public int age;
    public String address;
}
/**
 * @author 高影  2022/11/12  22:03
 * @version 1.0
 */
public class Test01 {
    public static void main(String[] args) {
        Student student = new Student();
        student.name = "小美";
        student.age = 18;
        student.address = "海南";
        System.out.println("姓名:"+student.name+" 年龄:"+student.age+" 地址:"+student.address);
    }
}

运行结果如下:

如果使用private方法,不能直接被外部访问,需要用getter和setter方法。

/**
 * @author 高影  2022/11/12  22:02
 * @version 1.0
 */
public class Student {
    //属性
    private String name;
    private int age;
    private String address;

    //方法
    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public String getAddress() {
        return address;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public void show(){System.out.println("姓名:"+name+" 年龄;"+age+" 地址:"+address);}
}
/**
 * @author 高影  2022/11/12  22:03
 * @version 1.0
 */
public class Test01 {
    public static void main(String[] args) {
        Student student = new Student();
        student.setName("小明");
        student.setAge(18);
        student.setAddress("海南");
        student.show();
    }
}

继承:把几个类中相同的属性和方法抽离出来定义在基类中,子类不在需要定义这些属性和方法,继承之后,就相当于拥有了这些属性和方法。

1,子类继承父类,父类定义的公共属性和方法子类会拥有,但是父类定义的私有化的属性和方法,子类不能继承。

/**
 * @author 高影  2022/11/13  9:55
 * @version 1.0 父类
 */
public class Person {
    String name;
    int age;
    String address;

    public void eat(){
        System.out.println("吃饭");
    }

    public void study(){
        System.out.println("学习");
    }

    public void sleep(){
        System.out.println("睡觉");
    }
}

父类公共的属性,子类可以直接继承。

/**
 * @author 高影  2022/11/12  22:02
 * @version 1.0  子类继承父类
 */
public class Student extends Person{
    String stuId;

    public void play(){
        System.out.println("学生在娱乐");
    }
}
/**
 * @author 高影  2022/11/12  22:02
 * @version 1.0 子类继承
 */
public class Teacher extends Person{
    String teacherNo;

    public void work(){
        System.out.println("老师在工作");
    }
}
2,父类继承过来的方法,子类可以进行改造,重新实现功能(方法的重写)调用的时候执行的是子类新实现的方法。
​​​​​​​/**
 * @author 高影  2022/11/13  9:55
 * @version 1.0
 */
public class Person {
    String name;
    int age;
    String address;

    public void eat(){
        System.out.println("吃饭");
    }

    public void study(){
        System.out.println("学习");
    }

    public void sleep(){
        System.out.println("睡觉");
    }
}
/**
 * @author 高影  2022/11/12  22:02
 * @version 1.0
 */
public class Teacher extends Person{
    String teacherNo;


    public void work(){
        System.out.println("老师在工作");
    }

    public void study(){
        System.out.println("老师在办公室学习");
    }
}
/**
 * @author 高影  2022/11/12  22:03
 * @version 1.0
 */
public class Test01 {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.study();

        System.out.println("------------------");

        Teacher tec = new Teacher();
        tec.study();
    }
}

 执行结果是子类重新定义的老师在办公室里学习。

羊咩咩的小脑袋~
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
头歌--Java面向对象 - 封装继承和多态
m0_56638814的博客
04-10 1万+
头歌实践--Java面向对象 - 封装继承和多态
头歌--Java面向对象 - 封装继承和多态的综合练习
m0_56638814的博客
04-13 1万+
头歌--Java面向对象 - 封装继承和多态的综合练习
Java-面向对象之(封装+继承+多态)
热门推荐
weixin_53908084的博客
08-06 2万+
Java-面向对象
面向对象-封装继承与多态
Sapphire_Veg的博客
04-18 1836
继承有延续(下一代延续上一代的基因、财富)、扩展(下一代和上一代又有所不同)的意思。多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类中无需再定义这些属性和行为,只需要和抽取出来的类构成某种关系。其中,多个类可以称为子类,也叫派生类;多个类抽取出来的这个类称为父类超类(superclass)或者基类。
Java面向对象 - 封装继承和多态
ros275229的博客
03-20 6148
java头歌 面向对象 实训作业
头歌平台Java实验:Java面向对象 - 封装继承和多态
jing13_13的博客
04-29 2797
就是隐藏对象的属性和实现细节,仅对外提供公共访问方式。对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖其他对象就可以完成自己的操作。良好的封装能够减少耦合。类内部的结构可以自由修改。可以对成员进行更精确的控制。隐藏信息,实现细节。封装把一个对象的属性私有化,同时提供一些可以被外界访问属性的方法,如果不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。编程要求根据提示,在右侧编辑器Begin-End。
Java面向对象 - 封装继承和多态的综合练习
ros275229的博客
03-20 3012
java头歌实训作业
Java基础---面向对象---封装继承多态
MUYUFANSHENXUE的博客
04-11 1706
1,封装 //1,良好的封装能够减少耦合 //2,类内部的结构可以自由修改 //3,可以队成员进行更精确的控制 //4,隐藏信息,实现细节 //先将属性选择性的隐藏,然后将需要给他人调用的内容,提供getter setter当作入口,可以在getter,setter进行设置操作,确保属性安全 public class Dog { String dogName = "无名氏";//狗名称 private int age = 0;//年龄(0-15) char sex = '女'
Java面向对象之——封装
LEE180501的博客
11-23 2644
本期主要探讨了面向对象三大特性之一的封装,重点介绍了Java包的概念、引入了静态属性static、详细介绍了Java中的三种代码块、最后拓展了一下IDEA中的小技巧,欢迎阅读!
Java面向对象 - 封装继承和多态头歌习题
xizige__的博客
04-22 2585
仅为个人答案 仅供参考 欢迎各位大神来纠错和提供其他不一样的代码!!!1.根据提示,在右侧编辑器Begin-End处补充代码:声明一个Person类,私有化属性name和age,并将字段封装起来;在Person类中定义一个talk()方法,打印姓名和年龄信息;在main方法中声明并实例化一Person对象p,给p中的属性赋值,调用talk()方法打印。
Educoder题目:Java面向对象 - 封装继承和多态答案解析.md
11-08
Educoder题目:Java面向对象 - 封装继承和多态答案解析
Educoder题目:Java面向对象 - 封装继承和多态的综合练习答案解析.md
11-09
Educoder题目:Java面向对象 - 封装继承和多态的综合练习答案解析
Java面向对象编程(封装/继承/多态)实例解析
08-29
Java 面向对象编程(封装/继承/多态)实例解析 Java 面向对象编程是一种编程范式,它强调对象之间的交互和继承关系。在 Java 中,面向对象编程主要体现在三大特征:封装继承和多态。 封装是指隐藏对象的内部细节...
JAVA面向对象基础测试题-继承-封装-多态等测试题.docx
09-30
根据给定文件的信息,我们可以总结出以下几个面向对象的基础知识点,并结合具体的题目来进行解析: ### 面向对象基础知识概述 面向对象编程(Object-Oriented ...这些知识点对于深入理解 Java 面向对象编程至关重要。
Leetcode面试经典150题-173.二叉搜索树迭代器
个人专长:数据结构和算法、大数据、数据库、主流框架
09-18 1191
Leetcode面试经典150题-173.二叉搜索树迭代器,字节跳动高频面试题啊,抖音和头条都考过,务必掌握
Java企业面试题3
m0_74972727的博客
09-15 857
1. break和continue的作用(智*图) break:用于完全退出一个循环(如 for, while)或一个 switch 语句。当在循环体内遇到break语句时,程序会立即跳出当前循环体,继续执行循环之后的代码。 continue:用于跳过当前循环体中剩余的部分,并开始下一次循环。如果是在 for 循环中使用continue,则会直接进行条件判断以决定是否执行下一轮循环。 2. if分支语句和switch分支语句的异同之处(智*图) 相同点:都是用来根据不同的条件执行不同的代码块。
【Kubernetes】常见面试题汇总(二十)
Songyaxuan075118的博客
09-16 584
Pod 实现对节点的资源控制 CPU、GPU 及 Memory(内存) Requests 和 Limits 影响 Pod 的调度 调度器(Scheduler) Metric Service
c语言面试字符串复制
最新发布
陌上花开缓缓归以的博客
09-20 100
所以 str1的数据是me.
面试突击-多线程和IO专题(至尊典藏版)
人生若只初相见@的博客
09-18 1254
金九银十多线程和IO大厂面试专题
Java实现面向对象封装继承与信息隐藏
本资源主要聚焦于面向对象编程在Java中的应用,特别是封装继承这两个核心概念。首先回顾了对象和类的基本概念,包括对象的状态和行为、类的定义及其成员的访问方式,如通过点操作符访问对象的属性和方法,以及`new...
写文章

热门文章

  • 在IDEA中配置Tomcat并且发布Web项目的步骤 4580
  • 在注册登录成功后在页面上实现增删改查功能 2425
  • jQuery-淘宝精品服装案例展示 2003
  • 了解JavaScript语言--如何在HTML中使用JavaScript 1565
  • jQuery-动画效果(轮播图案例) 1536

最新评论

  • 在注册登录成功后在页面上实现增删改查功能

    m0_69600107: 求源码表情包表情包表情包

  • jQuery-动画效果(图片抽奖案例)

    weixin_70672436: 加油加油表情包表情包

  • jQuery-动画效果(轮播图案例)

    weixin_70672436: 表情包表情包表情包表情包表情包表情包

  • JavaScript表达式和运算符以及语句和函数

    羊咩咩的小脑袋~: 表情包表情包表情包

  • jQuery-页面元素综合案例

    weixin_70672436: 表情包表情包

大家在看

  • 《C++高效字符串拼接之道:解锁性能与优雅的完美结合》
  • uniapp - 实现苹果App打包上架App Store应用商店详细教程,详解Hbuilder打包编译ipa发布上传到苹果ios软件商店全流程,提供云打包/离线本地打包ios、申请IOS苹果证书方法
  • C语言的一些小知识(四)
  • 828 华为云征文|华为 Flexus 云服务器打造 Laverna 在线笔记应用
  • 尚品汇-秒杀商品定时任务存入缓存、Redis发布订阅实现状态位(五十一) 1047

最新文章

  • SpringMVC框架理解
  • SpringMVC入门
  • spring事务处理
2023年11篇
2022年31篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家新乡玻璃钢雕塑定做价格玻璃钢人像雕塑哪家强河北欧式玻璃钢雕塑订做价格现代玻璃钢人物雕塑图片长治玻璃钢海豚雕塑上海商场创意商业美陈哪家好玻璃钢古铜雕塑厂家丹阳玻璃钢雕塑厂家电话多少福建美陈商场玻璃钢雕塑翻模价格锦州小区玻璃钢雕塑定做玻璃钢雕塑创意商场美陈代理公司玻璃钢花盆种类湖州玻璃钢陶瓷雕塑方案郑州太湖石玻璃钢仿铜雕塑定制辽宁玻璃钢广场雕塑价格宜宾玻璃钢广场雕塑各地玻璃钢雕塑厂家福建玻璃钢花盆价钱凯里玻璃钢雕塑玻璃钢雕塑实施方案南昌玻璃钢人物雕塑白色球形玻璃钢花盆玻璃钢仿真奶牛雕塑松原玻璃钢雕塑多少钱河南户外玻璃钢雕塑哪家便宜玻璃钢招财猫造型雕塑玻璃钢瓦雕塑厂福建主题商场美陈哪家好香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化