如果我们未给系统提供一个构造方法 那么系统会自动提供一个为空的构造方法。
封装 使对象的属性尽可能私有 对象的方法尽可能的公开。用private表示此成员属性为该类的私有
Static定义的是一块为整个类共有的一块存储区域 其发生变化时访问到的数据都时经过变化的。
其变量可以通过类名去访问 类名.变量名。与通过访问对象的编译时类型访问类变量为等价的。
想用private还要用set和get方法供其他方法调用 这样可以保证对属性的访问方式统一 并且便于
Student s的存储区域存放的是地址 一个对象在硬盘上占有一个连续地址 首地址赋予s空间。
可以构造多个构造方法 但多个构造方法的参数表一定不同 参数顺序不同即属于不同的构造方法
特别注意 用this调用其他构造方法时this必须为第一条语句 然后才是其他语句。
上面语句是判定a是否可以贴Animal标签。如果可以贴则返回true否则返回false。
Instanceof一般用于在强制类型转换之前判定变量是否可以强制转换。
实例变量 定义在类中但在任何方法之外。New出来的均有初值诚信、创新、开放、合作达内java学习笔记
局部变量要先赋值 再进行运算 而实例变量均已经赋初值。这是局部变量和实例变量的一大区别。
Static int data语句说明data为类变量 为一个类的共享变量 属于整个类。
在一个对象的生成周期中构造方法只用一次 一旦这个对象生成 那么这个构造方法失效。
第一个Student表示这是用Student类进行定义。“Student()”表示调用一个无参数的构造方法。
面向对象的思想 以对象为中心 先开发类 得到对象 通过对象之间相互通信实现功能。
在用面向对象思想开发的过程中 可以复用对象就进行复用 如无法进行复用则开发新的对象。
局部变量不允许范围内定义两个同名变量。实例变量的作用域在本类中完全有效 当被其他的类调用的
覆盖时考虑子类的private及父类的public考虑多态 之所以这样是避免调用A时出现实际调用B
Module6-7包括 面向对象高级、内部类、集合、反射 暂时不讲 、例外。
如果没有定义构造方法 那么就会调用父类的无参构造方法 即super()。
思考 可是如果我们没有定义无参的构造方法 而在程序中构造了有参的构造方法 那么如果方法中没
1 JAVA的面向对象编程——–课堂笔记面向对象主要针对面向过程。
对象之间的耦合性一定要低 比如不同硬盘和不同主板之间的关系 。这样才能使每个对象本身做成最
JAVA的数据结构为树型结构 而非网状。JAVA通过接口和内部类实现多继承
方法的重载并不一定是在一个类中 子类可以从父类继承一个方法 也可以定义一个同名异参的方法
当子类从父类继承一个无参方法 而又定义了一个同样的无参方法 则子类新写的方法覆盖父类的方法
3 Overloading在一个类中可以定义多个同名方法 各个方法的参数表
在程序的编译过程中根据变量类型来找相应的方法。因此也有人认为overloading是编译时的多态
对于语句Dog d=(Dog)a。将d强制声明为a类型 此时d为Dog()此时d就可以调用运行时类型。
3、在程序的运行时 动态类型判定。运行时调用运行时类型 即它调用覆盖后的方法。