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

上海自助建站工具python网站开发好吗

上海自助建站工具,python网站开发好吗,全面的网站建设,网站建设相关博客Java关键字final、static使用总结 一、final 根据程序上下文环境#xff0c;Java关键字final有“这是无法改变的”或者“终态的”含义#xff0c;它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变#xff1a;设计或效率。 final类不能被继承…Java关键字final、static使用总结 一、final  根据程序上下文环境Java关键字final有“这是无法改变的”或者“终态的”含义它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变设计或效率。 final类不能被继承没有子类final类中的方法默认是final的。 final方法不能被子类的方法覆盖但可以被继承。 final成员变量表示常量只能被赋值一次赋值后值不再改变。 final不能用于修饰构造方法。 注意父类的private成员方法是不能被子类方法覆盖的因此private类型的方法默认是final类型的。 1、final类  final类不能被继承因此final类的成员方法没有机会被覆盖默认都是final的。在设计类时候如果这个类不需要有子类类的实现细节不允许改变并且确信这个类不会载被扩展那么就设计为final类。 2、final方法 如果一个类不允许其子类覆盖某个方法则可以把这个方法声明为final方法。 使用final方法的原因有二 第一、把方法锁定防止任何继承类修改它的意义和实现。 第二、高效。编译器在遇到调用final方法时候会转入内嵌机制大大提高执行效率。 例如 public class Test1 { public static void main(String[] args) { // TODO 自动生成方法存根 } public void f1() { System.out.println(f1); } //无法被子类覆盖的方法 public final void f2() { System.out.println(f2); } public void f3() { System.out.println(f3); } private void f4() { System.out.println(f4); } } public class Test2 extends Test1 { public void f1(){ System.out.println(Test1父类方法f1被覆盖!); } public static void main(String[] args) { Test2 tnew Test2(); t.f1(); t.f2(); //调用从父类继承过来的final方法 t.f3(); //调用从父类继承过来的方法 //t.f4(); //调用失败无法从父类继承获得 } }  3、final变量常量  用final修饰的成员变量表示常量值一旦给定就无法改变  final修饰的变量有三种静态变量、实例变量和局部变量分别表示三种类型的常量。  从下面的例子中可以看出一旦给final变量初值后值就不能再改变了。  另外final变量定义的时候可以先声明而不给初值这中变量也称为final空白无论什么情况编译器都确保空白final在使用之前必须被初始化。但是final空白在final关键字final的使用上提供了更大的灵活性为此一个类中的final数据成员就可以实现依对象而有所不同却有保持其恒定不变的特征。 package org.leizhimin; public class Test3 { private final String Sfinal实例变量S; private final int A100; public final int B90; public static final int C80; private static final int D70; public final int E; //final空白,必须在初始化对象的时候赋初值 public Test3(int x){ Ex; } /** * param args */ public static void main(String[] args) { Test3 tnew Test3(2); //t.A101; //出错,final变量的值一旦给定就无法改变 //t.B91; //出错,final变量的值一旦给定就无法改变 //t.C81; //出错,final变量的值一旦给定就无法改变 //t.D71; //出错,final变量的值一旦给定就无法改变 System.out.println(t.A); System.out.println(t.B); System.out.println(t.C); //不推荐用对象方式访问静态字段 System.out.println(t.D); //不推荐用对象方式访问静态字段 System.out.println(Test3.C); System.out.println(Test3.D); //System.out.println(Test3.E); //出错,因为E为final空白,依据不同对象值有所不同. System.out.println(t.E); Test3 t1new Test3(3); System.out.println(t1.E); //final空白变量E依据对象的不同而不同 } private void test(){ System.out.println(new Test3(1).A); System.out.println(Test3.C); System.out.println(Test3.D); } public void test2(){ final int a; //final空白,在需要的时候才赋值 final int b4; //局部常量--final用于局部变量的情形 final int c; //final空白,一直没有给赋值. a3; //a4; 出错,已经给赋过值了. //b2; 出错,已经给赋过值了. } }    4、final参数 当函数参数为final类型时你可以读取使用该参数但是无法改变该参数的值。 public class Test4 { public static void main(String[] args) { new Test4().f1(2); } public void f1(final int i){ //i; //i是final类型的,值不允许改变的. System.out.print(i); } }  [1] [2] 下一页 二、static  static表示“全局”或者“静态”的意思用来修饰成员变量和成员方法也可以形成静态static代码块但是Java语言中没有全局变量的概念。  被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说它不依赖类特定的实例被类的所有实例共享。只要这个类被加载Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此static对象可以在它的任何对象创建之前访问无需引用任何对象。  用public修饰的static成员变量和成员方法本质是全局变量和全局方法当声明它类的对象市不生成static变量的副本而是类的所有实例共享同一个static变量。  static变量前可以有private修饰表示这个变量可以在类的静态代码块中或者类的其他静态成员方法中使用当然也可以在非静态成员方法中使用--废话但是不能在其他类中通过类名来直接引用这一点很重要。实际上你需要搞明白private是访问权限限定static表示不要实例化就可以使用这样就容易理解多了。static前面加上其它访问权限关键字的效果也以此类推。  static修饰的成员变量和成员方法习惯上称为静态变量和静态方法可以直接通过类名来访问访问语法为 类名.静态方法名(参数列表...) 类名.静态变量名  用static修饰的代码块表示静态代码块当Java虚拟机JVM加载类时就会执行该代码块用处非常大呵呵。 1、static变量  按照是否静态的对类成员变量进行分类可分两种一种是被static修饰的变量叫静态变量或类变量另一种是没有被static修饰的变量叫实例变量。两者的区别是  对于静态变量在内存中只有一个拷贝节省内存JVM只为静态分配一次内存在加载类的过程中完成静态变量的内存分配可用类名直接访问方便当然也可以通过对象来访问但是这是不推荐的。  对于实例变量没创建一个实例就会为实例变量分配一次内存实例变量可以在内存中有多个拷贝互不影响灵活。 2、静态方法  静态方法可以直接通过类名调用任何的实例也都可以调用因此静态方法中不能用this和super关键字不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法)只能访问所属类的静态成员变量和成员方法。因为实例成员与特定的对象关联这个需要去理解想明白其中的道理不是记忆  因为static方法独立于任何实例因此static方法必须被实现而不能是抽象的abstract。 3、static代码块  static代码块也叫静态代码块是在类中独立于类成员的static语句块可以有多个位置可以随便放它不在任何的方法体内JVM加载类时会执行这些静态的代码块如果static代码块有多个JVM将按照它们在类中出现的先后顺序依次执行它们每个代码块只会被执行一次。例如 public class Test5 { private static int a; private int b; static{ Test5.a3; System.out.println(a); Test5 tnew Test5(); t.f(); t.b1000; System.out.println(t.b); } static{ Test5.a4; System.out.println(a); } public static void main(String[] args) { // TODO 自动生成方法存根 } static{ Test5.a5; System.out.println(a); } public void f(){ System.out.println(hhahhahah); } }    运行结果 3 hhahhahah 1000 4 5  利用静态代码块可以对一些static变量进行赋值最后再看一眼这些例子都一个static的main方法这样JVM在运行main方法的时候可以直接调用而不用创建实例。 4、static和final一块用表示什么 static final用来修饰成员变量和成员方法可简单理解为“全局常量” 对于变量表示一旦给值就不可修改并且通过类名可以访问。 对于方法表示不可覆盖并且可以通过类名直接访问。
http://www.zqtcl.cn/news/306439/

相关文章:

  • 花钱让别人做的网站版权是谁的o2o网站建设如何
  • 电子商务网站建设策划书的流程wordpress原理
  • 微信公众号文章排版设计软媒win7优化大师
  • 长春建设局网站处长做箱包关注哪个网站
  • 中国建筑集团有限公司怎么样seo是怎么优化推广的
  • 芜湖建设网站eclipse开发网站用vue做前端
  • 外贸网站推广制作教程wordpress留言页面模版
  • 手机网站 像素网站建设生意怎么样
  • html5网站源代码凡科互动app下载
  • asp评价网站开发文档福州做网站的哪家好
  • 合肥网站建设方案优化写作网站大全
  • 专门提供做ppt小素材的网站网站定位
  • 临沂市建设局兰山区网站wordpress 去除下划线
  • 如何做一张图片的网站关于实验室建设的英文网站
  • 网站建设文本居中代码山东网站推广营销设计
  • 山东桓台建设招投标网站北京建设信息港网站
  • 为什么网站要域名个人养老金制度最新消息
  • 公众号开发是不是网站开发公司网站建设分录
  • 云南省住房建设厅网站代理二级分销系统
  • 四川建设人才培训网站临沂网站制作页面
  • 用vue做网站建设工程合同属于什么合同
  • 赶集的网站怎么做广告投放报价
  • php 家政网站白嫖云服务器
  • 长春网站关键词推广优秀网站建设哪个公司好
  • php实战做网站视频教程站长工具网站测速
  • 当下网站建设常见的网址有哪些
  • 洪雅网站建设事业单位门户网站建设包含内容
  • 外网如何查看局域网建设的网站区块链开发工程师要求
  • 网站首页三张海报做多大怎么做网上直营店网站
  • 网站制作新手教程视频省建设厅网站安全生产标准化