android学习中

Java面向对象编程:
一:位运算
01,带电表示数值1,不带电的表示数据0,多个原器件的组合可以表示多种状态,一个元器件可以表示一个bit数据,8个这样的元器件可以表示一个单元,能表示256个数
02,原码反码补码的正负表示不同的,补码取反加一,符号位不变
03,将一个负数的源码转化为十进制数,对个位去反,包括符号位,化为十进制,加上负号,在减去1

二:位运算符
01,& , | , ~ :于 ,或,去反

三:移位运算符
01,Java中有三个移位运算符:左移<< 右移>> 无符号右移>>>
02,移动之后的空位补0,超出的为舍弃,对于正数,无符号右移是一样的,补0负数的带符号右移,空出的位数补1,负数不带符号右移则补0,

四:面向对象编程
01,面向对象编程:(object oriented programming,简称oop)描述的是对象之间的相互作用,面向对象与面向过程的区别:过程化程序先确定算法,在确定数据结构。面向对象编程先确定数据结构在确定算法。面向过程的程序员习惯于建立数据结构存放数据并定义方法来操作数据。面向对象编程的程序员则构造一个对象模型,将数据与方法结合在一起。
02,构造方法没有返回值,在调用的时候会自动先调用构造方法。并且我们不能调用构造方法,必须同过new关键字来调用,从而创建类的实例,如果没有自定义的构造方法,Java编译器会为我们提供一个缺省的不带参数的构造方法。
03,new 关键字的作用:为对象分配内在空间,引起对象构造方法的调用。
04,但方法内部的形参与成员变量同名的时候,成员变量是不可见的,要用this关键子来选定,this是隐含对象,代表对象本身。可以在不带参数的构造函数有this调用带参数的构造方法,由于简化构造函数的调用。
05,一个类所有的事列调用的成员方法在内存中只有一份拷贝,尽管在内存中可能有多个对象。而数据成员在类的每个对象所在的内存都存在这一份拷贝。this变量允许相同的实例方法为不同的对象工作。当调用一个实例方法是,this变量将被设置成应用该事列方法的特定的类随心。方法的代码接着会与this所到表的对象的特定数据建立关联。
类名.静态方法()来调用静态方法,静态方法不属于某个对象,只属于类本身。在类加载的时候被分配空间。在没产生对象的时候,成员变量并没有被分配空间,所以静态方法里不能有非静态的变量,反过来可以。
main方法也是静态的,在执行Java代码的时候,就会在类中调用静态的main方法,而不需要产生对象,当加载类对象的时候,类main被加载,如果main不是static就要先产生对象,就没法被运行了。
Java中没有difine语句,用final语句来定义常量,final可以在声明的时候进行初始化,或者放在构造函数中进行完成。
在不带参数的构造函数中使用this来调用带参数的构造方法的时候,this语句要放在第一句(参见构造方法的new的作用)
为了节省内存,常常将常量定义为静态的,让所有对象共享一个常量,就不能放在构造方法中进行初始化了。

五.​Java的继承
只要用java+还有main函数的类名,就能启动
Java只有单继承
方法的重载是在一个类当中的,方法的覆盖发生在子类与父类之间:在子类中定义一个与父类同名,返回类型相同,参数类型均相同的一个,称为覆盖。重载的参数类型不同,返回值没有规定。
用super调用父类中被覆盖方法或者隐藏的变量的机制。每一个子类调用构造函数时候,隐含的调用super(),如果没有这种形式的构造函数,编译的时候就会报错,或者用super(1,2,3,)传入参数。构造函数是不能被继承的。

六.多态性
通过覆盖父类的方法来实现,在运行时根据传递的对象引用,来调用相应的方法,如果传递的是子类对象的引用,调用的就是子类的方法,如果传递为父类对象的引用,调用的就是父类的方法。
当我们将子类对象引用传递给声明为父类的对象变量,如果子类有的方法,则调用子类的方法,如果子类没有就调用父类的
子类对象是父类的实例,反过来不行,当把一个子类对象赋值给父类的引用,这个父类的引用所指向的对象其实就是子类的对象,当然也就是子类的实例,只是引用是父类的引用。

Tips:
在计算器中,单字为2个字节,相当于short是16位,一个f是4位,shrot是ffff。双字是4个字节,四字是8个字节,一个F是四个二进制
Java当中所有基本数据类型都有一个对应的类
java.lang包的Integer.toHexString()是一个静态方法,给一个int类型,返回一个String类型的16进制的字符串
用int定义一个变量之后,没有给初值,默认为0
在赋值的时候,数字不带引号的被解释为变量数值,一个字母,比如c不能赋值给变量,加上双引号就变成字符串。
SUN提供了一个反编译工具,能在编译完成之后用javap将字节码中的类的成员变量和成员方法的信息打印出来。在bin目录下。用法和java一样,执行的是一个类
各种数据类型的默认值:int,0;boolean:false;char:‘/0’,对象:null;String:null
同名方法,参数不同,就叫方法的重载
instanceof操作符,用来判断一个对象是否是一个类的实例。用法:an instanceof Animal,返回一个boolean(子类对象是父类的实例,反过来不行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值