20200924冯强

1.学习总结

1.面向过程

1.1面向过程是什么

面向过程是为了实现某一个功能时,每一步都会亲历亲为,都会参与,当程序简单时效率比面向对象程序更简单,但是复杂的网站执行效率慢

2.面向对象

2.1面向对象是什么

面向对象遵循万物皆对象的原则,把所有的事务都可以当作对象来处理,它具有自己的状态(属性)和行为(方法)。

2.2类

类是具有相同属性和方法的对象的集合 JAVA中定义类如:

public class Demo{}
//一个文件只能有一个public 修饰的类 并且文件名和该类名保持一致
2.3类的属性

类的属性就是他的成员变量

包括实例变量和静态变量

实例变量必须实例化对象才能调用

静态变量可以通过类名调用 在程序运行时就会加载到内存中

2.4类的方法

类的方法分为构造方法 静态方法和实例方法

2.4.1构造方法

当new一个实例时会调用构造方法并且初始化成员变量值,构造函数可以重载如:

public class Demo{
    public static void main(String[] args){
        new Person();//调用无参构造函数
        new Person("zs");//调用有参构造函数
    }
}
class Person{
    private String name;
    Person(){
        
    }
    Person(String name){
        this.name=name;
    }
}
2.4.2静态方法

静态方法属于类,可以用类名调用

若实例化对象可以用对象调用但是不推荐

静态方法不能直接调用实例方法

2.4.3实例方法

必须实例化对象才能调用

2.5重载

重载时的除参数列表不同 其他都相同

如:

public void add(int i) {    
    System.out.println("一个参数");
    }
    public void add(int i,int j) {
        System.out.println("两个个参数");
    }
    public void add(int... i) {
        System.out.println("可变参数");
    }

int..i若有指定参数的列表会调用指定的 若没有就会调用可变参数

3.String类

String类是一种特殊的类 他时final修饰的表示引用地址不可变

String str = "";//常量池查找 若没有就创建
String str2 = new String("");//堆中先开辟空间在去常量池找

2.问题

如:

String str ="abcd";
String str2 ="ab"+"cd";
String temp="ab";
String str3=temp+"cd";
System.out.println(str==str2);//true
System.out.println(str==str3);//false
//字面量相加会先拼接 3
//定义temp时还未解决这个问题

标签

评论

this is is footer