码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • java面向对象(三)


    文章目录

    • 一、可变个数形参的使用
    • 二、引用数据类型
      • 1.阐述
      • 2.典型案例(交换两个数)
      • 3.类的结构之三:构造器(或构造方法、constructor)的使用。==前两个是类和属性==
          • 1.构造器的作用
          • 2.说明
    • 三、面向对象的特征一:封装与隐藏
      • 1.问题的引入
      • 2.封装性的体现
      • 3.封装性的体现,需要权限修饰符来配合
      • 4.直观图


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、可变个数形参的使用

    public void show(int n,String ... strs);
    
    eg:数据库的操作使用
    
    • 1
    • 2
    • 3

    二、引用数据类型

    1.阐述

    如果参数是引用数据类型,那么实参赋值给形参的是实参存储数据的地址值。

    2.典型案例(交换两个数)

    代码如下(示例):

    class Data{
    	int m;
    	int n;
    }
    
    main()
    {
    	Data data = new Data();
    	data.m = 10;
    	data.n = 20;
    	v.swap(data);
    }
    
    public void swap(Data data)
    {
    	int temp = data.m;
    	data.m = data.n;
    	data.n = temp;
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    交换数组中两个指定位置的值。

    public void swap(int[]arr,int i,int j)
    {
    	int temp = arr[i];
    	arr[i] = arr[j];
    	arr[j] = temp;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3.类的结构之三:构造器(或构造方法、constructor)的使用。前两个是类和属性

    1.构造器的作用

    1.创建对象
    2.初始化对象的信息

    2.说明

    1.如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器
    2.定义构造器的格式,权限修饰符 类名(形参列表){}
    3.一个类中定义的多个构造器,彼此构成重载
    4.一旦我们显式的定义了类的构造器之后,系统就不再提供默认的空参构造器
    5.一个类中,至少会有一个构造器(只是不显示而已)
    代码如下(示例):

    class Person{
    	//属性
    	String name;
    	int age;
    
    	//构造器
    	public Person(){
    		Sysout("Person()...");
    	}
    	public Person(String n){
    		name = n;
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    三、面向对象的特征一:封装与隐藏

    1.问题的引入

    当我们创建一个类的对象以后,我们可以通过“对象.属性”的方式,对对象的属性进行赋值。这里,赋值操作要受属性的数据类型和存储范围的制约。除此之外,没有其他制约条件。但是,在实际问题中,我们往往需要给属性赋值需要加入额外的限制条件。这个条件就不能在属性声明时体现,我们只能通过方法进行限制条件的添加。(比如:set、get。同时,我们需要避免用户再使用“对象.属性”的方式对属性进行赋值。则需要将属性声明为私有的(private)-- >此时,针对于属性就体现了封装性。

    2.封装性的体现

    我们将类的属性xxx私有化(private),同时,提供公共的(public)方法来获取(getXxx)和设置(setXxx)
    拓展:封装性的体现:①如上 ② 不对外暴露的私有的方法 ③单例模式 …

    3.封装性的体现,需要权限修饰符来配合

    1.Java规定的4种权限(从小到大排列),private、缺省、protected 、public
    2.4种权限可以用来修饰类及类的内部结构:属性、方法、构造器、内部类
    3.具体的,4种权限都可以用来修饰类的内部结构,属性、方法、构造器、内部类
    修饰类的话,只能使用:缺省、public

    4.直观图

    在这里插入图片描述


  • 相关阅读:
    whois信息收集&企业备案信息
    山东大学项目实训十——Android开发环境搭建
    SpringBoot 框架笔记
    研究生怎么申请专利,流程是什么?
    Java笔记:手写spring之ioc
    Open3D(C++) 计算点云的法向量
    jmeter中beanshell的用法小结
    【1774. 最接近目标价格的甜点成本】
    淘宝扭蛋机一番赏小程序的玩法介绍
    SpringBoot-全局异常处理
  • 原文地址:https://blog.csdn.net/lalalalalab/article/details/132925294
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号