封装:1.私有化属性成员
2.公开get、set方法,供外界访问
3.多元化的构造方法
构造方法:1.不需要返回值,void也可以省略
2.方法名与类名相同
3.在每次创建对象时自动调用
4.构造方法可以重载,可以有多个,可以利用参数初始化属性成员
5.自己没写时,编译器会给每个java类提供一个无参的构造方法,一旦自己自定义了,默认的无参的无效
创建对象:1.分配空间。2.初始化属性。3.调用构造方法
static{语句}静态代码块,类加载时(new)执行,多次new,只执行一次
{方法体} 实例代码块,每创建一个对象调用一次
若实例化两次(new两次)输出顺序:
静态代码块-->实例代码块-->构造方法-->实例代码块-->构造方法
继承:1.java单一继承,若没有声明父类,默认继承object类
2.构造方法不能被继承,用super()调用,必须写在子类构造方法的第一行
方法和属性可以被继承,继承下来的private修饰的那部分,不能直接调用,通过get、set方法调用
3.子类构造方法执行时默认调用父类的构造方法,如果父类没有默认的构造方法,崽子类的构造方法的第一行声明调用父类的构造方法
子类生成对象:1递归调用父类的构造方法2分配空间3属性赋值4本类的构造方法
子类创建父类对象,子类对象只能看到父类的东西
多态(一般指运行时多态):
编译时多态:方法重载(方法名相同,参数不同,参数个数不同或类型不同都可以,与返回值无关;不同类型的顺序不同也可以)。调用时严格类型匹配,若没有匹配的向上就近。
运行时多态:方法覆盖(子类覆盖父类的方法)(toString()和equals()方法一般需要被覆盖)
1.重写方法必须和被重写的方法具有相同的方法名称,参数列表和返回类型,只有方法体不同,方法名不同时,编译不会出错,很可能结果不对
2.重写方法不能使用比被重写方法更严格的访问权限
3.子类抛出的异常不能比父类宽
4.继承、重写父类的方法后,父类引用指向子类对象,调用父类的方法时会发生多态,即对象类型不变,还是父类类型,调用父类的方法,运行时寻找子类覆盖后的方法
若需要强制类型转换,先用instance of判断,若是同一个类型就转换,返回值,boolean类型
会发生类加载:1.实例化 A a = new A();
2.访问static修饰的成员变量时
3.访问子类加载父类,访问父类加载子类
实例化子类是,代码执行顺序:
父类static代码块->子类执行代码块->父类普通代码块->父类构造方法->子类普通代码块->子类构造方法。
访问控制
修饰符 | 类内部 | 同一个包 | 子类 | 任何地方 |
private | yes | | | |
default | yes | yes | 在同一包中即可,否则不行 | |
protected | yes | yes | yes(不管在哪) | |
public | yes | yes | yes | yes |
class只能用public和default(不写)
- 大小: 10.8 KB
- 大小: 8.8 KB
分享到:
相关推荐
C++第五章 类和对象.ppt
C++程序设计与实践:04-第5章 类和对象.ppt
C++程序设计与实践:05-第5章 类和对象.ppt
C++程序设计与数据结构基础:第5章 类和对象.ppt
Java基础入门教程 第5章 Java基础类的应用(共42页).ppt Java基础入门教程 第6章 集合框架(共28页).ppt Java基础入门教程 第7章 Java中的异常处理(共26页).ppt Java基础入门教程 第8章 文件流的输入输出操作...
完整版 Java初级教程 Java语言程序设计 第5章 继承与接口(共15页).ppt 完整版 Java初级教程 Java语言程序设计 第6章 内部类和异常类(共22页).ppt 完整版 Java初级教程 Java语言程序设计 第7章 Java中的常用类...
第5章类与对象_类与对象.pptx
前言 第1章 C++语言概述 第2章 数据类型和表达式 第3章 预处理和语句 第4章 函数和作用域 第5章 类和对象(一) 第6章 类和对象(二) 第7章 继承性和派生类 第8章 多态性和虚函数...
第10章 static修饰符.pptx 第10章 枚举.pptx 第11章 异常和断言.pptx 第12章 JDK8中的日期.pptx ...第5章 类的继承.pptx 第6章 抽象类和接口.pptx 第7章 多态.pptx 第8章 包装器类.pptx 第9章 内部类.pptx
Java基础课程05-第五章-类和对象.ppt
《C++面向对象程序设计答案》-第五章--谭浩强-经典实例,包含继承 多态,源代码
静态空间与对象空间的对比 class TalkPlace { static String talkArea=""; //类变量 } public class User { static int count=0; //类变量 String username; int age; //实例变量 public User(String name,...
C++面向对象程序设计教程(第五章)(谭浩强著)
第5章 JSP内置对象
第5章_类图和对象图.ppt
java oop\ACCP6.0使用Java实现面向对象编程-第五章 .ppt
5-第五章:面向对象的数据模型和对象关系数据模型.pdf
这个是第五章第一节,后续敬请期待
第5章 Python正则表达式.pptx 第6章 Python函数.pptx 第7章 Python模块.pptx 第8章 Python类和对象.pptx 第9章 Python异常.pptx 第10章 Python文件操作.pptx 第11章 Python项目实战:爬虫程序.pptx 第12章 Python...
完整版精品java课件 Java基础入门教程 Java程序设计 第5章 继承和接口(共47页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第6章 数组和集合(共44页).ppt 完整版精品java课件 Java基础入门教程 Java...