主要内容:Java面向对象编程,面向对象编程和面向过程编程的区别,我们如何才能掌握面向对象的编程,类和对象的关系;讲解了Java中的构造、重载、this和super变量、静态变量、Java中的常量、继承、多态。
1.位运算符
&按位与 01101101&00110111=11100101
|按位或 。。。。。
^按位异或 当处于不同状态时为1
~按位取反 1-》0 0-》1
移位运算符 左移<< 带符号右移>> 无符号右移>>
java的面向对象编程:
简单的说 面向对象编程(Object Oriented Programing)
描述的是对象之间的相互作用
过程化程序设计先确定算法,再确定数据结构;面向对象编程先确定数据结构,再确定运算。
面向过程编程的程序员,习惯于建立数据结构存放数据并定于方法来操作数据;而面向对象编程的程序员则构造一个对象模型,将数据与方法组织在一起。
对象一般有两个特征:状态和行为
new关键字的作用:为对象分配内存空间 引起对象构造方法的调用 为对象返回一个引用
方法的重载:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载
this指向一个对象本身,代表对象本身。不再是C++中的this指针 每当调用一个实例方法时,this变量将被设置成引用该实例方法的特定的类对象。方法的代码接着会与this所代表的对象的特定数据建立关联。(比较容易理解)
静态方法:属于一个类,不属于一个对象。静态方法和静态变量直接通过类名引用,在静态方法中不能调用非静态的方法和引用非静态的成员变量。反之,则可以。 obj.method();
常量的定义:static final double PI;
类的继承:在java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类成为子类(派生类)。
在java中不允许多继承。只允许单继承。
方法的覆盖:在子类中定义一个与父类同名、返回类型、参数类型均相同的一个方法,称为方法的覆盖。覆盖发生在子类与父类之间。
特殊变量super:提供了对父类的访问。可以使用super访问父类被子类隐藏的变量或覆盖的方法。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。
多态性:通过覆盖父类的方法来实现,在运行时根据传递的对象引用,来调用相应的方法。
操作符instaceof:判断是是否是一个类的实例,