第4讲面向对象特征1内容摘要:
修符 静态变量 static 属于类的变量 最终变量 final 值在程序的执行过程中不会改变 易失变量 volatile 可能同时被多个线程所控制和修改 非访问控制修符 28 public (公共变量 /公共方法 ) 容许全权访问,无任何限制 (先构造对象,再访问 ) public (公共变量 /公共方法 ) class A { public int x。 public void print() { … } } class B { void test() { A a = new A()。 = 100。 ()。 } } package abc。 class A { public int x。 public void print() { … } } package xyz。 import。 class B { void test() { A a = new A()。 = 100。 ()。 } } 直接访问公有变量 x 和公共方法 print() 29 private (私有变量 /私有方法 ) 仅能在其所定义的类中被访问 (先构造对象,再访问 ) D:\javac x has private access in A = 100。 ^ print() has private access in A ()。 ^ 2 errors private (私有变量 /私有方法 ) class A { private int x。 private void print() { … } } class B { void test() { A a = new A()。 = 100。 ()。 } } 30 protected (保护变量 /保护方法 ) 容许类本身、子类 (有一定限制 )以及同一个包中所有类访问 (先构造对象,再访问 ) protected (保护变量 /保护方法 ) class A { protected int x。 protected void print() { … } } class B { void test() { A a = new A()。 = 100。 ()。 } } package abc。 class A { protected int x。 protected void print() { … } } package xyz。 import。 class B extends A { void test(A a, B b) { = 100。 ()。 = 100。 ()。 } } //illegal //illegal //legal //legal 31 无修饰 (友好变量 /友好方法 ) 容许类本身以及同一个包中所有类访问 无修饰 (友好变量 /友好方法 ) class A { int x。 void print() { … } } class B { void test() { A a = new A()。 = 100。 ()。 } } package abc。 class A { int x。 void print() { … } } package abc。 class B { void test() { A a = new A()。 = 100。 ()。 } } 32 小结 名称 访问权修饰符 类本身 子类 包 所有类 公共 public 默认 保护 protected * 私有 private * 指子类与父类不在同一个包中的情况 小结 33 static (静态变量 /静态方法 ) 类的变量 /方法,独立于类的对象,可以直接根据类名调用 class S { static int A = 12, B = 34。 static void print() { … } } class Test { public static void main(String args[]) { (“A=“ + + “ B=“ + )。 ()。 } } 类成员变量 34 static (静态变量 /静态方法 ) class Test { public void print(int x) { (x)。 } public static void main(String args[]) { int x = 3。 print(x)。 } } D:\javac :9: nonstatic method print(int) cannot be referenced from a static context print(x)。 ^ 1 err r l t public void print(int x) { (x)。 } public static void main(String args[]) { int x = 3。 Test t = new Test()。 (x)。 } l t li stat c vo d print(int x) { intln(x)。 li t ti i mai tri r int x = 3。 print(x)。 } static方法中仅仅可以调用其他 static方法 static (静态变量 /静态方法 ) 35 final 变量 /方法 final变量 : 定义一个常数,即变量值不能改变 final double AVOGADRO =。 final类 : 不能有子类 final方法 : 方法不能被重写 (overriding) class ChessAlgorithm { . . . final void nextMove(ChessPiece pieceMoved, BoardLocation n。第4讲面向对象特征1
本资源仅提供20页预览,下载后可查看全文
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
相关推荐
第4课时统一多民族国家的巩固和社会的危机
和发展 条件 农业、手工业的发展及商业的繁荣,促使明朝中后期以商品生产为主要目的的纺织业逐步兴起 时间 明代中后期 地区 苏州、松江等江南地区 领域 纺织业部门 特征 以生产商品为目的,具有雇佣性质的资本主义的生产关系 标志 “机户出资,机工出力 ”,机户就是早期资本家,机工就是早期雇佣工人。 他们之间这种雇佣与被雇佣的关系,是资本主义性质的生产关系 发展 到清代
第4讲公钥基础设施pki
政策下证书的颁发和使用规则 证书数据库 只通过 CA对证书进行发布是不够的,验证者需要比 较容易地找到对应于不同签名者的公钥 需要证书数据库( CR) CR可以由以下几种方式实现: 轻量级目录管理协议( LDAP ) Web服务器 DNS 共用数据库 证书撤销以及 CRL数据库 验证者通过证书撤销机制可以得知一个证书是否被作废 证书撤销与证书过期