当前位置: 首页 > news >正文

铜梁旅游网站建设管理深圳做品牌网站

铜梁旅游网站建设管理,深圳做品牌网站,织梦网站流动广告代码,昆明网站服务1. 面向对象基础 1.1 面向对象和面向过程的区别 面向过程把解决问题的过程拆成一个个方法#xff0c;通过一个个方法的执行解决问题。面向对象会先抽象出对象#xff0c;然后用对象执行方法的方式解决问题。 面向对象开发的方式更容易维护和迭代升级、易复用、易扩展。 1…1. 面向对象基础 1.1 面向对象和面向过程的区别 面向过程把解决问题的过程拆成一个个方法通过一个个方法的执行解决问题。面向对象会先抽象出对象然后用对象执行方法的方式解决问题。 面向对象开发的方式更容易维护和迭代升级、易复用、易扩展。 1.2 创建一个对象用什么运算符?对象实体与对象引用有何不同? 用new来创建一个对象。new 创建对象实例对象实例在堆内存中对象引用指向对象实例对象引用存放在栈内存中。 Student s new Student(); new Student()为对象实例存放在堆内存中。 s为对象引用存放在栈内存中 一个对象引用可以指向 0 个或 1 个对象一根绳子可以不系气球也可以系一个气球一个对象可以有 n 个引用指向它可以用 n 条绳子系住一个气球。 1.3 对象相等和引用相等的区别 对象的相等一般比较的是内存中存放的内容是否相等。引用相等一般比较的是他们指向的内存地址是否相等。 1.4 如果一个类没有声明构造方法该程序能正确执行吗? 构造方法是一种特殊的方法主要作用是完成对象的初始化工作。 如果一个类没有声明构造方法也可以执行因为一个类即使没有声明构造方法也会有默认的不带参数的构造方法。如果我们自己添加了类的构造方法无论是否有参Java 就不会添加默认的无参数的构造方法了。 1.5 构造方法有哪些特点是否可被 override? 名字与类名相同。没有返回值但不能用 void 声明构造函数。生成类的对象时自动执行无需调用。 构造方法不能被 override重写,但是可以 overload重载,所以你可以看到一个类中有多个构造函数的情况。 1.6 面向对象的三大特性 封装 封装是指把一个对象的状态信息也就是属性隐藏在对象内部不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。就好像我们看不到挂在墙上的空调的内部的零件信息也就是属性但是可以通过遥控器方法来控制空调。 继承 不同类型的对象相互之间经常有一定数量的共同点。例如小明同学、小红同学、小李同学都共享学生的特性班级、学号等。同时每一个对象还定义了额外的特性使得他们与众不同。例如小明的数学比较好小红的性格惹人喜爱小李的力气比较大。继承是使用已存在的类的定义作为基础建立新类的技术新类的定义可以增加新的数据或新的功能也可以用父类的功能但不能选择性地继承父类。通过使用继承可以快速地创建新的类可以提高代码的重用程序的可维护性节省大量创建新类的时间 提高我们的开发效率。 关于继承如下 3 点请记住 子类拥有父类对象所有的属性和方法包括私有属性和私有方法但是父类中的私有属性和方法子类是无法访问只是拥有。子类可以拥有自己属性和方法即子类可以对父类进行扩展。子类可以用自己的方式实现父类的方法。就是重写。 多态 一个对象具有多种的状态具体表现为父类的引用指向子类的实例。 多态的特点: 对象类型和引用类型之间具有继承类/实现接口的关系引用类型变量发出的方法调用的到底是哪个类中的方法必须在程序运行期间才能确定多态不能调用“只在子类存在但在父类不存在”的方法如果子类重写了父类的方法真正执行的是子类覆盖的方法如果子类没有覆盖父类的方法执行的是父类的方法。 1.7 接口和抽象类有什么共同点和区别 共同点 都不能被实例化。都可以包含抽象方法。都可以有默认实现的方法Java 8 可以用 default 关键字在接口中定义默认方法。 区别 接口主要用于对类的行为进行约束你实现了某个接口就具有了对应的行为。抽象类主要用于代码复用强调的是所属关系。一个类只能继承一个类但是可以实现多个接口。接口中的成员变量只能是 public static final 类型的不能被修改且必须有初始值而抽象类的成员变量默认 default可在子类中被重新定义也可被重新赋值。 1.8 深拷贝和浅拷贝区别了解吗什么是引用拷贝 浅拷贝浅拷贝会在堆上创建一个新的对象区别于引用拷贝的一点不过如果原对象内部的属性是引用类型的话浅拷贝会直接复制内部对象的引用地址也就是说拷贝对象和原对象共用同一个内部对象。深拷贝深拷贝会完全复制整个对象包括这个对象所包含的内部对象。 这玩意用文字讲不明白直接上代码 浅拷贝 浅拷贝的示例代码如下我们这里实现了 Cloneable 接口并重写了 clone() 方法。 clone() 方法的实现很简单直接调用的是父类 Object 的 clone() 方法。 public class Address implements Cloneable{private String name;// 省略构造函数、GetterSetter方法Overridepublic Address clone() {try {return (Address) super.clone();} catch (CloneNotSupportedException e) {throw new AssertionError();}} }public class Person implements Cloneable {private Address address;// 省略构造函数、GetterSetter方法Overridepublic Person clone() {try {Person person (Person) super.clone();return person;} catch (CloneNotSupportedException e) {throw new AssertionError();}} }测试 Person person1 new Person(new Address(武汉)); Person person1Copy person1.clone(); // true System.out.println(person1.getAddress() person1Copy.getAddress());从输出结构就可以看出 person1 的克隆对象和 person1 使用的仍然是同一个 Address 对象。  深拷贝 这里我们简单对 Person 类的 clone() 方法进行修改连带着要把 Person 对象内部的 Address 对象一起复制。 Override public Person clone() {try {Person person (Person) super.clone();person.setAddress(person.getAddress().clone());return person;} catch (CloneNotSupportedException e) {throw new AssertionError();} }测试 Person person1 new Person(new Address(武汉)); Person person1Copy person1.clone(); // false System.out.println(person1.getAddress() person1Copy.getAddress());从输出结构就可以看出显然 person1 的克隆对象和 person1 包含的 Address 对象已经是不同的了。 那什么是引用拷贝呢 简单来说引用拷贝就是两个不同的引用指向同一个对象。 我专门画了一张图来描述浅拷贝、深拷贝、引用拷贝
http://www.pierceye.com/news/368958/

相关文章:

  • 珠海网站设计培训源码网站
  • 中山好的做网站的公司网站seo外包
  • 付费的网站是指展览馆网站建设方案书
  • 免费整套ppt模板下载网站网络营销推广目的
  • 公司 做网站企业手机app开发公司
  • 玉树电子商务网站建设多少钱做类似淘宝一样的网站
  • 住房城乡与建设厅网站燕郊网站开发
  • 欧美风格网站特点wordpress 电影主题
  • 烟台网站建设网站推广团队logo标志设计
  • 怎么注册建设银行网站如何创建属于个人网站
  • 双语网站系统wordpress page 父页面
  • 连云港做网站设计稿定设计官网入口
  • 建筑网站推荐wordpress hook api
  • 昆明做网站公司哪家好安卓优化
  • 魔站建站系统哪家好国内知名的包装设计公司
  • 福田区住房和建设局网站早晨设计 做网站设计吗
  • 郑州轨道网站开发手机怎么做动漫微电影网站
  • vscode网站开发昆明做网站找启搜网络
  • 如何评估网站虚拟商品交易网站建设
  • 太原网站优化教程pycharm做网站
  • 哪些网站做英语比较好免费下载模板ppt
  • 网站建设运营计划书wordpress 维护页面
  • 襄阳定制型网站开发前端网页设计招聘
  • 网站备案报价深圳市住房和建设局官网首页
  • 宁波江北区网站推广联系方式做一个论坛网站要多少钱
  • 网站制作无锡台州建设工程网站
  • 云网站 制作如何做一个网页
  • 微信免费建站新建网站站点的
  • 云网站制作的流程世界500强企业排名
  • 巨久科技网站建设做出个人网站什么水平