面向对象
面向对象的编程:
1、面向对象的思想来源于生活
2、定义一个类,就是定义一个类对象的模版
3、定义一个类,就是定义了一个新的数据类型
4、面向对象的三大特征:
封装
构造函数:与类同名,无返回值,new后边不是类是构造函数的名字,如果没有自定义构造函数,系统生成无参数的构造函数
Java中的变量有两种(1、定义在类中成员变量2、定量在函数中的局部变量)
如果自定义有参数的构造函数,系统将不再自动创建无参数的构造函数
在实际开发,只要定义有参数的构造函数,就必须写五参数的构造函数
this是指当前实例,P1,P2......
this()可以用来调用对应参数的构造函数
java中的局部变量使用前必须初始化
java中成员变量,不用初始化条件,系统自动赋予默认值
一般都在创建实例赋值
attributr(属性) method(方法) function(函数)
set和get方法,可以给私有的成员变量只有加上set和get方法后,
public void set Namel(string name){ 对象才拥有属性
this.name = name;
}
public string getName(){
return this.name;
}
2、继承
3、多态
面向过程和面向对象编程的区别?
面向过程首先考虑是怎么做,而面向对象首先考虑是谁做的,然后在考虑怎么做
形象比喻:面向过程就是打工者的思维,面向对象是老板的思维,面向对象更适合做大项目
栈(stack) 堆(heap) 代码区(eat() sleep()) 静态存储器(静态变量 static)
地址相不相等
地址比较:Java中==比较的是地址
if(name0==name1){
System.out.println(“name0和name1的地址相等”);
}else{
System.out.println("name0和name1的地址不相等");
}
内容比较:java比较字符串内容用equals函数
if(name0.equals(name1)){
System.out.println(“name0和name1的地址相等”);
}else{
System.out.println("name0和name1的地址不相等");
}
Java针对 String name2="haoren";这种最常用的字符串的创建形式进行了优化如果内容相同,只开辟一次存储空间存一次
if(name2==name3){
System.out.println(“name0和name1的地址相等”);
}else{
System.out.println("name0和name1的地址不相等");
}
String的常用函数
String infor = "我是好人!";
char cc = infor.charAt(2);
System.out.println(cc);
\w 单词字符:[a-zA-Z_0-9] \d 数字:[0-9]
[abc]要么选a,要么选b,要么选c,必须选一个 a、b或c(简单数)
x? 如果有问号,只有一次或一次没有
x* 如果是星号,是零次或多次
x+ 如果是加号,只有一次或多次
x{n} 如果是{n},恰巧n次
正则表达式实例代码
验证邮箱合法性:
String email = "haoren123@163.com";
if(email.matches("\\w+[@]\\w+[.]\\w+")){
System.out.println("合法");
}else{
System.out.println("不合法");
}
验证电话号码的合法性:
String tel = "18584825020";
if(tel.matches("[1]\\d{10}")){
System.out.println("合法");
}else{
System.out.println("不合法");
}
验证用6-18字母(只能小写或者数字)
String username = "haoren123";
if(tel.matches("^[a-z0-9]{6,18}$")){
System.out.println("合法");
}else{
System.out.println("不合法");
}
在Window中/和\都可以做路径的分隔符,但是Linux操作系统中只能/,推荐大家以后写路径使用/
lastlndexof(找到最后一次出现的)
Java中直接使用string进行反复拼接字符串中效率比较低
去空格:只能去掉两边和全空格,不能去掉字符中间的空格
replace(替换) script(脚本) Query(查询) information(信息) message(消息) split(分割)
注意:字符串的修改函数,注意其实在原字符串上修改还是复制后形式新的字符,并以返回值的形式返回