java基础知识
1.变量就是一个有名称的容器,用于装备不同类型的数据,变量代表一块内存,用于读取内存中数据的访问和修改。
2.位运算符:&:按位与:当两位同为1才为1,其余为0。
| : 按位或:当2位同为0才为0,其余为1。
~ :按位取反。
^ :按位异或:当2位相同时为0,不同为1。
<<:左移:就是向左移动几位数。
>>:右移:向右移动几位数。
3.三目运算符:
例子:String s = (5>3) ? "5大雨3" : "5小于3";
4.动态初始化: int 【】 books = new int[5];数组元素自动填充为默认值0.
面向对象
1.this总是指向调用该方法的对象,
最大的作用是(2):让类中一个方法访问类一个方法或实例变量。
this作为对象的默认引用有2个位置情况:
1):在构造器中引用该构造器正在初始化的对象
2):在方法中引用调用该方法的对象。
2.参数传递机制:值传递。
注意;引用变量传递的是引用所指向的地址。
3.封装:
private:只可以当前类来使用。同一个类。
protectd :同一个类、同一个包、子类中。
public:全部
default:同一个包、同一个类
4.java常用包
java.lang:核心类:String、Math、System、Thread类、使用它们无须导入包,会自动导入。
java.util: 包含了java的大量工具类/接口/集合:Arrays、 List、Set。
java.io
java.sql
java.swing
java.awt
5.多态
1)子类继承父类,是因为引用变量2个类型:1:编译时类型,2:运行时类型
如果编译时类型和运行时类型不一致,就出现多态。
例子:
Object p = new Person();
p在编译阶段只能调用其编译时类型所具有的方法。(如果调用了他Object类所没有的方法就会出现编译错误,即使他的子类Person有。)但是运行时则执行它所运行时类型所具有的方法。(也就是person类里重写的方法)
所以p只能调用他编译时Object里的方法。
6.引用类型的强制转化前的判断。
2)instanceof运算符:(引用类型变量 instanceof 类):判断前面的变量是不是后面的类,只可以有继承关系才可以用。
返回true或者false
7.判断相等的根本:
==:2个变量是基本类型且都是数值类型,则相等,对于引用类型变量,只有同时指向同一个对象时,==才会返回true。