传统的for语句是用下标去跑,foreach是直接跑元素,所以定义x类型要与数组或其他对象一样
foreach循环:它能在不使用下标的情况下遍历数组。
面向对象:
1.面向对象编程的思想来源于生活,一切皆对象。
要描述这个世界上任何一个对象都可以通过静态属性和动态属性描述
2.定义一个类型等于定义了一种新的数量类型。
3.一个类就是一个具体对象实例模板。
构造函数:与类同名,没有返回值
当没有自定义构造函数时,系统会自动创建一个无参数的构造函数
但是一旦自定义了有参数的构造函数系统将不再自动创建无参数的构造函数。
写了有参数的构造函数就必须写无参数的构造函数。
(一旦成员变量拥有了set和get就变成了属性。)
this指的是当前实例对象;()调用对应参数个或者类型的构造函数。
4.面对对象的三大特性:
1)封装
2)继承
3)多态
string类:
1.java lang包中的类不用引入包,直接使用。
(判断相等,分两种地址和内容。‘=判断内容;==判断地址’)
Java对直接使用字符串类型做了优化,当两个变量值相同时,第二变量不再开辟空间。
字符的分割:
(注意:‘.’在正则表达式种有其他的含义,所以使用[.])
判读字符串的开头和结尾
string的效率问题 //在以后的开发中如果出现反复拼字符串不使用string;如果需要反复拼接字符,用SrtingBuffer
static:
1.修饰变量,变量存在静态存储区,被多个实例共享,可以被类名直接访问
(静态是跟随类的加载而加载,生命周期也是跟随类以前创建和消亡)
2.可以修饰方法:静态方法可以用类名直接调用,一般工具类中的方法都是静态的,方便使用,静态是跟随类的加载而加载。
(不能有this关键,当静态函数加载的时this对应实例还没创建)
普通代码块比构造函数先执行,每次创建实例都可以执行。
静态代码块,只执行一次,比普通代码块更早执行。静态代码块种也不能访问非静态变量
设计模式:为了解1决经常遇到的问题,总结经验形成的固定模式。