2022年2022年继承和接口和java访问权限修饰符总结 .pdf
《2022年2022年继承和接口和java访问权限修饰符总结 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年继承和接口和java访问权限修饰符总结 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章,第四章内容总结-Mr yang 多态性:发送消息给某个对象,让该对象自行决定响应何种行为。通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。动态绑定 : 一、使用父类类型的引用指向子类的对象;二、该引用只能调用父类中定义的方法和变量;三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)四、变量没有被重写(覆盖)的概念,”重写“的概念只针对方法,1. 方法重载 : 在同一个类中定义了两个以上的同名的方法,但是它们拥有不同的参数列表。1.1 重载的条件:参数不同a. 个数不相同b. 类型不同*c.顺序不同注意:与方法的返
2、回类型无关,和访问修饰符无关2. 方法重写 : 在子类中定义了一个和父类中相同的方法, 父类的方法在子类中就被覆盖了(隐藏了). 3. 动态绑定:父类的引用指向子类的对象,如果调用的方法在子类中被重写,则调用子类重写了的方法。如果调用的方法在父类中没有定义,则报错。访问修饰符 : 1.public 2.protected 3.private 4. 默认的方法修饰符:1.static:静态方法中不能访问非静态的变量和方法,也不能使用this和 super关键字static 关键字修饰的代码不依赖具体的对象实例. 总是比普通的代码块先加载2.final:能修饰类 ,方法 ,属性。2.1:final
3、修饰类时:该类不能被继承. 2.2:final修饰方法时:该方法不能被重写. 2.3:final修饰类的成员属性时:声明时就要赋值,或者在构造方法中给它赋值. final修饰类的属性时:必须在声明时赋值final修饰局部变量: 如果在声明时没有赋值,则在后面的代码中可以有一次给它赋值的机会,一旦赋值则该变量的值不可更改。final修饰的变量是引用类型时指引用不能更改,引用指向的对象的属性值是可以更改的 . Final 表示最终的3.abstract:修饰类,方法. 抽象方法使用abstract修饰符修饰抽象方法只能在抽象类中声明。即:如果一个类中存在一个或以上的抽象方法,则该类也要声明为抽象类
4、。3.1: 抽象类不能实例化对象。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 3.2: 抽象类中可以有抽象方法,也可以有普通方法。3.3: 构造方法不能声明为抽象的,因为子类无法覆盖。3.4: 子类继承抽象类时必须重写父类中所有的抽象方法,否则自己也要声明为抽象类 . 3.5: 可以声明抽象类的引用指向子类的对象。动态绑定4 接口: 关键字 interface声明接口。解决java不能多重继承的机制。1. 接口中的方法都是抽
5、象的。2. 接口中的方法默认时public和 abstract,所以 public和 abstract可以省略 . 3. 接口中可以声明属性,属性默认为public static final 4. 接口使用关键字interface声明,使用implements实现接口 . 问题 : 接口和抽象的区别? 相同点区别: 继承 : 代码的可重用性抽象类: 代码的灵活性固定的方法( 数据库) 接口 : 代码的可扩展性java 访问权限修饰符public protected default private 用法总结首先声明: java中,default这个修饰符并没有显式的声明,在成员变量和方法前什么修
6、饰符也不用,默认的就是default。为了条理清晰,分三种不同情况来总结。一 访问权限修饰符修饰成员变量和方法public:表明该成员变量和方法是共有的,能在任何情况下被访问。protected:必须在同一包中才能被访问及其子类中可以(说的比较简单,看个例子就明白了) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - eg:class A protected int weight; protected int f( int a,i
7、nt b ) / 方法体 假设 B 与 A 在同一个包中,则class B void g() A a=new A(); A.weight=100;/合法A.f(3,4); / 合法 特别说明:什么是在同一个包中?答:用 package打包在一起的class , 叫在同一个包中。(不明白,举个例子) eg: 在 JDK 的 srcjavaio中, 你会看到许多java类, 第一句源代码都是package java.io; 没有使用package打包的,在同一目录下的类也会被视做同一个包。default:在这种情况下中,同包中的子类。区别在第二和第三种情况中。eg: class A int wei
8、ght ; int f( int a,int b ) / 方法体 假设 B 与 A 在同一个包中,则class B void g() A a=new A(); A.weight=100;/合法A.f(3,4); / 合法 private:只能在本类中访问。eg: class Test 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - private int money; Test() money=2000; private int
9、 getMoney() return money; public static void main(String args) Test te=new Test(); te.money=3000; / 合法int m=te.getMoney(); / 合法System.out.println(money=+m); PS: 实际上,把重要的数据修饰为private,然后写一个public的函数访问它,正好体现了 OOP 的封装特性,是OOP 安全性的体现。二访问权限修饰符修饰类1,不能用protected和 private修饰类。2,用 default修饰的类叫友好类,在另外一个类中使用友好类创建
10、对象时,要保证它们在同一包中。三访问权限修饰符与继承这里的访问修饰符指的是修饰成员变量和方法。可以分为两种情况:1,子类与父类在同一包中此时只有声明为private的变量与方法不能被继承( 访问 )。eg: class Father private int money ; int weight=100; class Son extends Father viod f() money=10000;/ 非法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年继承和接口和java访问权限修饰符总结 2022 继承 接口 java 访问 权限 修饰 总结
限制150内