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

国内网站推广一个好网站

国内网站推广,一个好网站,网站维护开发合同,微信小程序界面设计第2节 面向对象进阶 一、封装与private 概述#xff1a; 封装的意义在于保护或者防止代码#xff08;数据#xff09;被我们无意中破坏。保护成员属性#xff0c;不让类以外的程序直接访问和修改。封装原则#xff1a; 隐藏对象的属性和实现细节#xff0c;仅对外公开访…第2节 面向对象进阶 一、封装与private 概述 封装的意义在于保护或者防止代码数据被我们无意中破坏。保护成员属性不让类以外的程序直接访问和修改。封装原则 隐藏对象的属性和实现细节仅对外公开访问方法并且控制访问级别。我们观察如下代码 class Person {private String name; //表示姓名private int age; //表示年龄void tell() {System.out.println(姓名name年龄age);} }public class Demo {public static void main(String args[]) {Person per new Person();per.name 张三;per.age -30;per.tell();} }以上的操作代码并没有出现语法错误但是出现了逻辑错误年龄。在开发中为了避免出现逻辑错误建议对所有属性进行封装 并为其提供setter和getter方法进行设置和取得操作。修改代码如下 class Person {private String name;private int age;void tell() {System.out.println(姓名 getName() 年龄 getAge());}public void setName(String str) {name str;}public void setAge(int a) {if(a0a150) {age a;}}public String getName() {return name;}public int getAge() {return age;} } public class OODemo10 {public static void main(String args[]) {Person per new Person();per.setName(张三);per.setAge(-30);per.tell();} }这样当输入一个不符合逻辑的年龄时不会对其赋值所以保护了成员属性。二、this关键字 在Java基础中this关键字是一个最重要的概念使用this关键字可以完成以下的操作调用类中的属性 调用类中的方法或构造方法 - 在一个构造方法中调用另一个构造方法时调用的代码必须编写在构造方法的第一行。 表示当前对象 package com.kaikeba.objectoriented.advanced;public class thiskeyword {public static void main(String[] args) {Person3 p1 new Person3(张三, 18);Person3 p2 new Person3(李四, 18);p1.say();p2.say();Person3 p3 new Person3();p3.say();} }/*** this指的是当前对象*/ class Person3 {private String name;private int age;Person3() {//无参构造方法内调用了全参构造方法this(默认姓名, 1);}Person3(String name, int age) {//this表示当前对象this.name name;this.age age;}void say() {System.out.println(姓名 this.name 年龄 this.age);} } 结果如下 姓名张三年龄18 姓名李四年龄18 姓名默认姓名年龄1三、static关键字 概述 static表示“静态”的意思可以用来修饰成员变量和成员方法 后续还会学习 静态代码块 和 静态内部类 。 static的主要作用在于创建独立于具体对象的域变量或者方法。 简单理解 被static关键字修饰的方法或者变量不需要依赖于对象来进行访问只要类被加载了就可以通过类名去进行访问。并且不会因为对象的多次创建而在内存中建立多份数据。观察如下代码 package com.kaikeba.objectoriented.advanced;public class statickeyword {public static void main(String[] args) { // Emp e1 new Emp(张三, 北京); // Emp e2 new Emp(李四, 北京); // Emp e3 new Emp(王五, 北京); // Emp e4 new Emp(赵六, 北京);Emp.region 北京;Emp e1 new Emp(张三);Emp e2 new Emp(李四);Emp e3 new Emp(王五);Emp e4 new Emp(赵六);e1.say();e2.say();e3.say();e4.say(); // //假设公司迁址到 天津 // e1.setRegion(天津); // e2.setRegion(天津); // e3.setRegion(天津); // e4.setRegion(天津);Emp.region 天津;e1.say();e2.say();e3.say();e4.say();} }class Emp {//不带static的可以理解为对象的属性带static的可以理解为类的属性private String name;static String region; //static修饰的属性存在方法区中Emp(String name, String region) {this.name name;this.region region;}Emp(String name) {this.name name;}Emp(){}public String getName() {return name;}public void setName(String name) {this.name name;}public String getRegion() {return region;}public void setRegion(String region) {this.region region;}void say() {System.out.println(员工姓名name员工所在地区region);}} 其内存的存储如下所示static修饰的region属性或方法被存储在方法区中类被加载的时候就已经在方法区中开辟且只会开辟一次一般是通过类名来设置或修改通过对象名也可以但是它会把所有对象的这个属性都改了。 重点 静态成员 在类加载时加载并初始化 无论一个类存在多少个对象静态的属性永远在内存中只有一份可以理解为所有对象公用 在访问时静态不能访问非静态非静态可以访问静态 因为静态比非静态先创建如下面的代码所示 package com.kaikeba.objectoriented.advanced;public class statickeyword3 {public static void main(String[] args) {StaticDemo.say();} }class StaticDemo {/*** 通过类名来调用对象名也行因为创建对象要先加载类* 静态修饰的方法被调用时有可能对象还未创建*/static void say() {System.out.println(勇敢牛牛不怕困难);}/*** 通过对象来调用* 非静态方法可以调用静态方法反之不行先后创建顺序*/void say2() {System.out.println(锄禾日当午);say();} } 四、4种代码块 普通代码块 在执行的流程中 出现的 代码块。 构造代码块 在类中的成员代码块每次对象创建时执行执行在构造方法之前。 静态代码块 在类中使用static修饰的成员代码块在类加载时执行。每次程序启动到关闭只会执行一次的代码块。 同步代码块 后续多线程技术中学习。 package com.kaikeba.objectoriented.advanced;public class codeblock {public static void main(String[] args) {/*** 普通代码块编写在顺序执行的代码流程中的代码块*/{System.out.println(普通代码块执行);}Person4 p1 new Person4();Person4 p2 new Person4();{System.out.println(普通代码块执行);}} }class Person4 {private String name;private int age;/*** 构造代码块随着对象的每次创建执行一次且执行在构造方法之前* 区别于构造方法的是* 无论用户调用哪一个构造方法来创建对象构造代码块都必然执行**/{System.out.println(构造代码块执行);}/*** 静态代码块随着类的加载第一次使用静态代码块执行。* 因为类只加载一次所以静态代码块只执行一次。*/static {System.out.println(\n静态代码块执行\n);}public Person4() {System.out.println(构造方法执行);}public Person4(String name) {System.out.println(构造方法执行);}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}void say() {System.out.println(姓名name年龄age);} } 结果如下 普通代码块执行静态代码块执行构造代码块执行 构造方法执行 构造代码块执行 构造方法执行 普通代码块执行从上面的代码可以看出一个常考的知识点 构造方法 与 构造代码块 与 静态代码块的执行顺序 静态代码块 — 构造代码块 — 构造方法 五、包 5.1 包介绍 把功能相似或相关的类或接口组织在同一个包中方便类的查找和使用 包如同文件夹一样不同的包中类的名字是可以相同的当同时调用两个不同包中相同类名的类时应该加上包名加以区别。因此也可以避免名字冲突。 包也限定了访问权限拥有包访问权限的类才能访问某个包中的类。 5.2 包的使用规则 包中java文件的定义 在.java文件的首部必须编写类所属哪个包格式:package 包名;包的定义 通常由多个单词组成所有单词的字母小写单词与单词之间使用 . 隔开一般命名为“com.公司名.项目名.模块名...”。规范由来 由于Java面向对象的特性每名Java开发人员都可以编写属于自己的Java Package为了保障每个JavaPackage命名的唯一性在最新的Java编程规范中要求开发人员在自己定义的包名前加上唯一的前缀。由于互联网上的域名称是不会重复的所以多数开发人员采用自己公司在互联网上的域名称作为自己程序包的唯一前缀。例如com.java.xxx。 5.3 import关键字 当需要用到其他包中的类时可以使用import导入格式为import 包名.类名;六、权限修饰符记住访问范围 权限修饰符可以修饰java中所有可以访问的资源比如类中的属性、方法、构造方法给资源添加了一个访问权限有如下四种权限修饰符七、main方法详解 main()方法一直写到了今天public static void main(String args[]) 以上的各个参数的含义如下 public表示公共的内容可以被所有操作所调用 static表示方法是静态的可以由类名称直接调用。java StaticDemo09 void表示没有任何的返回值操作 main系统规定好的方法名称。如果main写错了或没有会报错NoSuchMethodError: main String[] args字符串数组接收参数的 public class StaticDemo10{ public static void main(String args[]){ for(int i0;iargs.length;i){ System.out.println(args[i]) ; } } }; 所有的参数在执行类的时候以空格进行分割。java StaticDemo10 1 2 3 4 5 6 7 但是如果现在我要输入的是以下几种参数“hello world”、“hello vince”、“hello mjw”。因为以空格分割所以以上的三组参数会当做六组参数输入那么此时如果要想完成有空格的内容输入则参数需 要使用“”括起来。java StaticDemo10 hello world hello vince hello mjw
http://www.pierceye.com/news/11380/

相关文章:

  • 搜索引擎网站盈利模式东营中移动网站建设
  • 手机网站开发一个多少钱二级备案域名购买
  • 百度收录的网站多久更新一次企业名称核准
  • 楚风网站建设工作室为企业设计网站
  • wordpress站内搜索次数惠州seo优化
  • 做论坛网站4g空间够不够用wordpress英文写作插件
  • 口碑好的做pc端网站山东网站建设代理
  • 建设机械网站策划html5网站设计欣赏
  • 邢台哪儿做wap网站网页ui设计教程
  • 有没有在线做动图的网站平面广告设计培训学校
  • 东至县住房和城乡建设网站手机域名解析错误怎么解决
  • 安徽海绵城市建设协会网站手机网站快速排名
  • c 手机网模板网站课程网站建设内容
  • 北京++网站建设咨询顾问公司腾讯云加wordpress教程
  • 哪个网站平面设计做的好一台服务器可以做几个网站
  • 两学一做知识竞赛试题网站哪个网站可以做logo
  • 莱芜市城乡建设局网站网站建设地址 北京
  • 崇州市网站建设wordpress兼容手机吗
  • 企业做自己的网站要注意什么如何开wordpress网站
  • vps主机上搭建网站中山网络推广
  • 建设ca网站中国工业信息网
  • 网站备案主体授权书网站开发软件学习
  • 无锡新区做网站公司江门网页制作公司
  • 网上购物网站建设规划怎么分析网站用什么技术做的
  • 互助网站开发2018网站建设高考成绩查询
  • 信息查询类网站是怎么做的外贸一般上什么网站
  • 网站中图片怎么做的做淘宝客没网站怎么做
  • 建设网站目的及功能定位网络运维工程师证书怎么考
  • php网站上做微信支付功能里水九江网站建设
  • 网站建设全部教程专业企业网站建设公司价格