面向对象

面向对象


面向对象

  1. 面向过程:步骤简单清晰,第一步和第二步步骤清晰,面向过程适合处理一些较为简单的问题

面向对象:分类的思维方式,问题进行分类,对分类进行单独的思考,面向对象适合处理复杂的问题,适合处理需要多人协作的问题

  1. 对于描述复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统,但是,具体到微观操作,仍需要面向过程的思路去处理。

  2. 面向对象编程的本质就是:以类的方式组织代码,以对象的组织封装数据。

  3. 面向对象的三大属性:封装、继承、多态

方法

  1. 执行完return之后这个方法就执行完毕了。

判断是否为同一个方法就要看参数名和参数列表是否相同

public void sayBye() {
		return;
	}
  1. 方法的调用:静态方法和非静态方法

静态方法:类名.方法名 就可以直接调用这个方法

public class B {
	
	public static void main(String[] args)     {
		B.sayBye();//直接调用
	}
	
	public static void sayBye() {//static
		System.out.println("BYE!");
	}
}

非静态方法:实例化这个类

	public class B(){
	
        public static void main(String[] args) {
		B b=new B();//实例化
		System.out.println(b.sayHello());//调用方法
	}
	
	public String sayHello(){
		return "HelloWorld!";
	}
}

方法之间的调用

public void a() {
		d();
	}
	
public static void d() {
		
	}

两个非静态方法之间可以调用,两个静态方法之间可以调用,非静态方法可以调用静态方法。

因为在类的加载过程中,静态方法和类一起加载完成,而非静态方法在类实例化之后才能加载完成

  1. 值传递和引用传递:

值传递:

public static void main(String[] args) {
		int a=1;
		System.out.println(a);
		
		B.change(a);
		System.out.println(a);
	}
	
	public static void change(int a) {
		a=10;
	}

输出结果为:1 1

因为在方法中定义的是形式参数,不是实际参数,两个参数的地址不一样,在没有返回值的情况下,即使调用了方法,形参中的值也没有办法赋值给实参

引用传递:

public class B {

	public static void main(String[] args) {
		Person p = new Person();
		System.out.println(p.name);

		B.change(p);
		System.out.println(p.name);
	}

	public static void change(Person p) {
		p.name = "sw";
	}

}

class Person {
	String name;
}

输出结果:nuLL sw

在方法中直接调用的是person的地址,直接修改了这个对象中的属性,所以输出的时候才会被改变

类与对象的创建

  1. 类被实例化之后会返回一个自己的对象,就好像是在人的这个模糊的概念中,你想要一个具体的人,这时候就返回了初始化了人的概念的人,已经是一个具体的人了,人的身上还有被定义好的属性,可以根据这个人具体赋值,就好像婴儿出生一样

    类是一个模板,对象就是一个具体的实例

Student xiaoming=new Student();
  • 使用new关键字创建 的时候,除了分配内存空间之外,还会给创造好的对象进行默认的初始化和对类中构造器的调用

    • 构造器(构造方法):一个类即使什么都不写也会有一个默认的构造方法
    • 条件:构造器必须和类的名字相同,必须没有返回值,也不能写void
    • 作用:使用new关键字,本质在于调用构造器,用来初始化值
    • 注意:一旦定义了有参构造,午餐构造就必须显示定义
    public Person(){//无参构造
    
    }
    public Person(String name){//有参构造
        this.name=name;
    }
    

    总结:

    类与对象:类是一个模板,对象是一个具体的实例

    方法:方法的调用

    对应的引用:引用类型。对象是通过引用来操作的

    属性:字段、成员变量、默认初始化、

    修饰符 属性类型 属性名=属性值

    对象的创建和使用:使用new、构造器

    对象的属性、对象的方法

    类:静态的属性、动态的行为

posted @ 2021-08-06 09:23  甲乙丙I  阅读(44)  评论(0)    收藏  举报