面向对象基础知识

面向对象

1.英文OOP:object-oriented Programming

2.本质:以类的方式组织代码,以对象的方式封装数据

3.抽象的思想

4.三大特性:封装、继承、多态

5.对象的使用:实例化new------->对象类型 对象名 = 对象的值

6.静态方法调用非静态方法失败的原因:静态方法生成时的时间片短(和类一起加载的)

非静态方法必须在类实例化之后才存在,已经存在的方法无法调用不存在的方法

7.方法调用中的值传递引用传递的区别:

package oop;

public class Demo1 {
    //值传递
    public static void main(String[] args) {
        int a = 1;
        int b = 1;
        System.out.println(a);// 1
        b = change(a);//有返回值  且 将a的值进行了变换
        System.out.println(b);// 10
        //值传递
        change1(a);
        System.out.println(a); // 1

    }
    public static int change(int a){
        a = 10;
        return a;
    }
    public static void change1(int a){
        a = 11;
    }
}
package oop;

public class Demo2 {
    //引用传递
    public static void main(String[] args) {
        //person是一个对象 这是一个具体的人   可以改变属性
        Person person = new Person();
        System.out.println(person.name);//null
        Demo2.change(person);
        System.out.println(person.name);//158H
    }

    public static void change(Person person){
        person.name = "158H";
    }

}
class Person{
    String name;//属性
}

栈里存的是对象的引用地址,而不是对象数据,对象数据在堆里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值