高陵县建设局网站泰安网站建设定制公司

web/2025/9/28 2:05:14/文章来源:
高陵县建设局网站,泰安网站建设定制公司,wordpress jam,好网站建设公司报价​ 面向对象编程 笔记Notes 面向对象三条学习主线 面向过程 VS 面向对象 类和对象 创建对象例子 面向对象的内存分析 类的属性#xff1a;成员变量 成员变量 VS 局部变量 类的方法 方法的重载 可变个数形参 面向对象#xff1a;封装性 访问权限修饰符 构造方法成员变量 成员变量 VS 局部变量 类的方法 方法的重载 可变个数形参 面向对象封装性 访问权限修饰符 构造方法构造器 给属性赋值的方法 UML类图 this 关键字   面向对象学习主线 类及类的成员属性方法构造器代码块内部类 面向对象的三大特性封装性继承性多态性 其他关键字this,super,interface,final,static...... 面向过程 vs 面向对象 面向过程强调的是功能行为 面向对象 强调具备了功能的对象                类和对象的区别 类抽象的汽车设计模板 对象具体的类的实例根据模板造出的汽车 类的成员属性和方法 属性 field 成员变量 成员方法 函数 method 面向对象的例子 1.创建一个类并在类中提供必要的属性和方法 2.由类派生出对象。创建对象 3.调用对象中的属性和方法。对象名.属性名/方法名              //创建一个类 class Person{           //属性           String name;           int age;           char sex;                      //方法           public void run(){                    System.out.println(name  跑起来);           }                      public void say(){                    System.out.println(name  今年  age);           } }     // main 方法中                    Person person  new Person();                    //调用属性 对象名.属性名                    person.name  王庆港; //给属性赋值                    person.age  23;                    //获取属性的值                    String name  person.name;                    System.out.println(name  name);                    //调用方法 对象名.方法名                    person.run();                    person.say(); 面向对象的内存分析 同一个类创建的多个对象每个对象独自拥有一份属性。 当修改其中一个对象的属性的值后其它对象的该属性不会受到影响 类的成员之 属性成员变量 变量的分类 ①按照数据类型分 基本数据类型 vs 引用数据类型 ②按照位置分 成员变量  vs 局部变量 成员变量和局部变量  相同点 ①变量的声明的格式都是一样的。 ②变量都有作用域 ③变量都是先声明后使用 成员变量和局部变量 不同点 ①局部变量在方法里方法的形参构造器中构造器的形参代码块 ②成员变量 在类中方法等结构外 权限修饰符 ①局部变量不能使用权限修饰符修饰 ②成员变量可以使用四种权限修饰符public protected 缺省的(default) private 内存 ①局部变量在内存的栈中 ②成员变量在内存的堆对象中 默认值 ①局部变量 没有默认值 ②成员变量 有默认值和数组元素的默认值是一样的  byte,short,int,long - 0  float,double - 0.0  boolean - false  char - \u0000 引用数据类型 - null     class Animal{           //属性成员变量           public String name  动物;           int legs;           protected boolean isLive  true;           {//代码块                    String address  ;//局部变量           }           public Animal(){}            //构造器           public Animal(int sex){//构造器的形参                    int a  10;//局部变量           }           //方法           public void say(int sex){//方法的形参                    //局部变量                    int age  10;                    age  20;                    name  大锤;           } }   不定义对象的句柄而直接调用这个对象的方法。这样的对象叫做匿名对象。 如new Person().shout(); 类的成员方法method Java里的方法不能独立存在所有的方法必须定义在类里。 方法的声明格式 修饰符 返回值类型 方法名参数类型 形参1, 参数类型 形参2, …. 方法体程序代码 return 返回值; }     权限修饰符 public protected 缺省的  private (先用public) ①void/具体的类型基本数据类型、引用数据类型 ②void : 表示该方法没有返回值 具体的类型 调用该方法会有返回值。 注意返回数据需要使用return关键字。return 后面跟需要返回的数据。 方法名 只需要遵守标识符的规则和规范即可 (形参相同的情况下同一个类中的方法名不能相同)。 形参列表 可以有0个1个或多个。多个之间使用,隔开。 ①作用 用来通知方法的调用者调用此方法时需要传递数据。 ②注意实参的类型必须和形参的类型保持一致 方法体 方法功能的具体体现。 注意 只有调用方法时方法体才会执行。   对象数组题目 定义类Student包含三个属性学号number(int)年级state(int)成绩score(int)。创建20个学生对象学号为1到20年级和成绩都由随机数确定。 问题一打印出3年级(state值为3的学生信息。 问题二使用冒泡排序按学生成绩排序并遍历所有学生信息 提示 1) 生成随机数Math.random()返回值类型double;  2) 四舍五入取整Math.round(double d)返回值类型long。   class Student1{           int  number;           int state;           int score;                      Override           public String toString() {                    return Student1 [number  number  , state  state  , score  score  ];           }            } public class StuInfo {           public static void main(String[] args) {                    // 创建对象数组                    Student1[] studentArr  new Student1[20];                    // 循环创建对象并赋值传给对象                                        for (int i  0; i  20; i) {                              Student1 student1  new Student1();                              student1.number  i;                              student1.state  (int)Math.round( (Math.random()*7));                              student1.score  (int) (Math.random()*100);                                 studentArr[i]  student1;                    }                    System.out.println(---------打印排序前的学生信息-------------);                    for (int i  0; i  studentArr.length; i) {                              System.out.println(studentArr[i]);                    }                                        System.out.println(----------打印state为3的学生信息---------);                    // 循环查找对象数组中state值为3的对象打印输出对象信息                    for (int i  0; i  studentArr.length; i) {                              if (studentArr[i].state  3) {                                       System.out.println(studentArr[i]);                              }                    }                    System.out.println(----------------------------------------);                    // 使用冒泡排序按学生成绩排序并遍历所有学生信息                    // 思路两个循环遍历数组中的对象的成绩若对象的成绩小于后一个则交换对象的位置                    for (int i  0; i  studentArr.length -1; i) { // 外层循环决定冒泡排序的次数为数组长度-1                              for (int j  0; j  studentArr.length - i -1; j) { // 内层循环决定每次多少次冒泡为                                       if (studentArr[j].score  studentArr[j1].score) { // 如果前面的对象小于大于后面的就叫交换类数组地址                                                 Student1 temp  studentArr[j];                                                 studentArr[j]  studentArr[j1];                                                 studentArr[j1]  temp;                                       }                              }                    }                    // 注意                    // 冒泡排序交换的值的数组的下标为内循环的循环变量                    System.out.println(------打印排序后的信息-------);                    // 打印排序后的信息                    for (int i  0; i  studentArr.length; i) {                              System.out.println(studentArr[i]);                                                           }                               } }   重载的概念、特点、实例 ①在同一个类中允许存在一个以上的同名方法只要它们的参数个数或者参数类型不同即可。 ②与返回值类型无关只看参数列表且参数列表必须不同。 (参数个数或参数类型)。调用时根据方法参数列表的不同来区别。 ③示例 //返回两个整数的和   int add(int x,int y){return xy;} //返回三个整数的和   int add(int x,int y,int z){return xyz;} //返回两个小数的和 double add(double x,double y){return xy;} 注意 ①不同的形参列表 形参的个数顺序类型不同 ②方法的重载和权限修饰符返回值类型形参的名字无关。 ③判断方法:只看 方法名  形参列表看形参和实参的类型   可变个数形参 格式 变量的类型 ... 变量名 说明                  ①可变形参的底层就是一个数组                  ②在可变形参的方法中和可变形参相同类型的数组的方法不构成重载。                  ③在形参列表中可变形参只能放在最后                  ④在同一个方法的形参列表中只能有一个可变形参。                  ⑤ 可变形参的个数可以是0个1个或多个 方法的参数传递 基本数据类型的参数传递 引用数据类型的参数传递 方法的参数传递 面向对象封装 为什么要使用封装性 在创建对象以后就可以通过对象名.属性名这种方式对属性直接进行操作。这种操作对于属性只有类型和范围的限制。但是在实际开发中我们会有更多的其它的限制条件。而这些限制条件又不能在属性的声明处加以限制。我们采取取如下方式 ①使用权限修饰符对属性进行权限的限制那么在类的外部就不能随意的再调用类中的属性 ②提供公共的方法在方法中可以加以限制其它的条件。然后可以通过该方法给属性赋值和获取属性的值。                   封装性的体现狭义上 ①将属性私有化。private修饰属性 ②提供公共的set/get方法。set方法用来给属性赋值get方法用来获取属性的值                   封装性的体现广义上 ①可以使用四种权限修饰符:private,缺省的protected,public ②四种权限修饰符可以修饰 属性方法构造器内部类 ③类只能被public和缺省的修饰。   四种访问权限修饰符   构造方法构造器 构造器的特征 它具有与类相同的名称 它不声明返回值类型。与声明为void不同 不能被static、final、synchronized、abstract、native修饰不能有return语句返回值 构造器的作用创建对象给对象进行初始化 如Order o new Order();    Person p new Person(“Peter”,15); 根据参数不同构造器可以分为如下两类 隐式无参构造器系统默认提供 显式定义一个或多个构造器无参、有参 注  意 Java语言中每个类都至少有一个构造器 默认构造器的修饰符与所属类的修饰符一致 一旦显式定义了构造器则系统不再提供默认构造器 一个类可以创建多个重载的构造器 父类的构造器不可被子类继承 构造器重载使得对象的创建更加灵活方便创建各种不同的对象。     给属性赋值的方法 赋值的位置 ① 默认初始化int a; ② 显式初始化int a 0; ③ 构造器中初始化 ④ 通过“对象.属性“或“对象.方法”的方式赋值 赋值的先后顺序   ① - ② - ③ - ④     JavaBeanJava语言编写的可重用组件 定义是一个普通的Java类但是符合如下标准 ①类是公共的 ②有一个无参的公共的构造器 ③有属性且有对应的get、set方法 UML类图   ① 表示 public 类型 - 表示 private 类型#表示protected类型 ②方法的写法方法的类型(、-)  方法名(参数名参数类型)返回值类型 this 关键字 this 是什么 ①它在方法内部使用即这个方法所属对象的引用 ②它在构造器内部使用表示该构造器正在初始化的对象。 this作用域this 可以调用类的属性、方法和构造器 适用情形当在方法内需要用到调用该方法的对象时就用this。 具体的我们可以用this来区分属性和局部变量。 public void setAge(int age){            age  age;//局部变量 就近原则属性名和局部变量名相同时默认调用的是局部变量            System.out.println(  age); } this 调用构造器 总结Summary 面向对象的内存分析 成员变量与局部变量 构造器 函数重载   转载于:https://www.cnblogs.com/bigdatahub/p/11305271.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学校网站建设所使用的技术男的女的做那个视频网站

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:如果某个表有近千万数据,CRUD比较慢,如何优化? 当某个表存在近千万数据且CRUD(增删改查)操作比较慢时,可以考虑以下优化策略: 使用索引:索…

网站建设中服务器和空间区别企业邮箱官方网站

“Encrypt”属性设置为“true”且 “trustServerCertificate”属性设置为“false”,但驱动程序无法使用安全套接字层 (SSL) 加密与 SQL Server 建立安全连接:错误:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable …

商城网站设计服务删除中文wordpress

宏打印函数 在我们的嵌入式开发中,使用printf打印一些信息是一种常用的调试手段。但是,在打印的信息量比较多的时候,就比较难知道哪些信息在哪个函数里进行打印。特别是对于异常情况的打印,我们需要快速定位到异常情况的位置。这时…

怎么找网站模板网站模糊背景

哈喽~我是电商月月 要说做抖音小店最主要的是什么?那当然是找品了 那出单最快的方法是什么?无疑是达人带货了! 但新手店铺没销量,没体验分,没好评怎么能让达人同意帮我们带货呢? 方法其实很简单&#x…

网站 logfiles网络专业有哪些

通过前面几个课时的学习,相信你对 JVM 的理论及实践等相关知识有了一个大体的印象。而本课时将重点讲解 JVM 的排查与优化,这样就会对 JVM 的知识点有一个完整的认识,从而可以更好地应用于实际工作或者面试了。 我们本课时的面试题是&#x…

泰州做网站哪家好横泉水库建设管理局网站

1 前言 在日常开发工作中,我们经常用Mybatis Generator根据表结构生成对应的实体类和Mapper文件。但是Mybatis Generator默认生成的代码中,注释并不是我们想要的,所以一般在Generator配置文件中,会设置不自动生成注释。带来的问题…

商城网站的psd模板免费下载泛站群

点击下载《产品经理的进阶之路》 1. 前言 本文深入剖析了产品经理这一职业从产品专员起步,逐步晋升为产品经理、高级产品经理,直至产品总监的整个职业发展路径。在每个阶段,产品经理都需承担不同的工作职责,展现出独特的职业特点。 2. 产品专员 关键词【产品需求/原型/文…

广州led网站建设嘉兴建网站

azure微软office365邮箱会对频繁连接自身邮箱服务器的IP地址进行,连接邮箱服务器IP限制,也就是黑名单,释放时间不确定,但至少一天及以上。 解决办法,换一个IP,或者新注册一个office365邮箱再重试。 以下是…

建设工程合同通用条款范本2017seo是什么字

1.Redis,MongoDB,Elasticsearch实现地理位置查询比较 1.1 Redis: 优点:Redis提供了地理空间索引功能,可以通过Geo数据类型进行地理位置查询。这使得Redis在处理地理位置查询时非常高效。 缺点: Redis的地理空间索引功能相对简单&#xff0…

石家庄市建设南大街小学网站中国制造网官方网站下载安装

1-响应时间 响应时间指从用户或事务在客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,这整个过程所消耗的时间 在性能测试实践中,为了使响应时间更具代表性,响应时间通常是指事务的平均响应时间ART 在实践中要…

公司网站发布流程上海新建公司

目录 四.Linux实用操作 12.环境变量 环境变量 环境变量--PATH $ 符号 自行设置环境变量 自定义环境变量PATH 总结 四.Linux实用操作 13.文件的上传和下载 上传,下载 rz,sz命令 四.Linux实用操作 14.压缩和解压 压缩格式 tar命令 tar命令压缩…

做网站广告费装饰网站案例

缘由 MongoDB数据库如下: 如上截图,使用MongoDB客户端工具DataGrip,在filter过滤框输入{ profiles.alias: 逆天子, profiles.channel: },即可实现昵称和渠道多个嵌套字段过滤查询。 现有业务需求:用Java代码来查询…

济南在线制作网站商丘做网站需要多少钱

准备工作1.安装scrapy_redis包,打开cmd工具,执行命令pip install scrapy_redis2.准备好一个没有BUG,没有报错的爬虫项目3.准备好redis主服务器还有跟程序相关的mysql数据库前提mysql数据库要打开允许远程连接,因为mysql安装后root用户默认只允许本地连接,详情请看此文章部署过程…

武侯区建设局门户网站制作网站的公司电话号码

目录 前言 知识储备 图像处理常用算法 算法原理 传统分割方法 1.基于阈值的分割方法

小型企业网站建设的背景清河网站建设公司

文章目录如何生成采购单系统生成采购单的流程基本流程扩展流程找不到符合条件的供应商,要求部分退款(初次生成采购单时)找不到符合条件的供应商,要求全部退款(初次生成采购单时)指定供应商的库存不足&#…

手机微信官方网站首页网页禁止访问怎么办

第十一届蓝桥杯大赛软件赛省赛C/C 大学 B 组 文章目录 第十一届蓝桥杯大赛软件赛省赛C/C 大学 B 组1、字串排序2、门牌制作3、既约分数4、蛇形填数5、跑步锻炼6、七段码7、成绩统计8、回文日期9、子串分值和10、平面切分 1、字串排序 // 转载博客链接 https://blog.csdn.net/we…

店铺详情页设计模板龙斗seo博客

在线订餐系统mysql字段,随便写的了。也许要改变呢。再说吧啊。在线订餐系统mysql字段分成3个表开发1.user2.order3.pay1.用户表包含下面字段 id int 主键,自动累加,不为空,长度10就够了吧;用户名(name) varchar类型 30长度够了吧。…

p2p网站建设报价2p排名绵阳高新区建设局网站

简介 Pyenv 是一个 python 解释器管理工具,可以对计算机中的多个 python 版本进行管理和切换。为什么要用 pyenv 管理python呢,用过的 python 人都知道,python 虽然是易用而强大的编程语言,但是 python 解释器却有多个版本&#…

建筑公司网站广告宣传语高校网站建设近期情况说明

问题窥探之前有个哥们在使用Newtonsoft.Json反序列化的时候,发现明明有数据,但是就是序列化不出来数据到实体里面。咋一看,确实没什么问题啊,字符串的数据是存在的。那么问题出在哪里呢。解决思路1、我让他把字符串复制出来&#…

国外域名注册做违法网站新浪云上传wordpress

如果您使用Java进行编程的时间足够长,则有可能需要为业务用户生成报告。 就我而言,我已经看到几个项目使用JasperReports库来生成PDF和其他文件格式的报告。 最近,我荣幸地观察了Mike和他的团队使用上述报告库及其面临的挑战。 简而言之Jasp…