面向对象 编程

本文介绍了面向对象编程的核心概念,包括面向对象的思维方式、类与对象的关系、抽象、封装、继承和多态等基本特性。此外,还详细阐述了方法的调用、静态与非静态方法的区别、对象的创建与初始化,以及构造器的作用和特点。
摘要由CSDN通过智能技术生成

面向过程思想 线性 第一步做什么第二步做什么 简单的问题  

面向对象思想 分类思维模式 首先解决问题分类 然后对分类进行单独思考 复杂的问题

面向对象 (OOP)

面向对象编辑本质 就是以类的方式组织代码,以对象的组织(封装)数据

抽象  三大特性 封装 继承 多态

从认识角度考虑先又对象后有类.   对象 具体事物 类 是抽象的,是对对象的抽象

从代码运行角度考虑 先有类后有对象 . 类是对象的模板.

回顾方法 

方法的调用 静态非静态方法 形参与实参 值传递和引用传递

//main方法
 public static void main(String[] args) {
     //ome01.say();//静态方法直接类名.方法名调用
     //非静态 要实例化这个类 new
     Dome01  dome01=new Dome01();
     dome01.say();
 }
 //static 和类一起加载的
/*public static void a(){
     b();
 }
 //类 实例化之后才存在
 public void b(){
     a();
 }*/


 //修饰符 返回值类型 方法名 (){方法体  return返回值}
 public String str(){
     return str();
 }
 public int max(int i,int j){
     return i>j?i:j; //三元运算符

 }
public static void main(String[] args) {
    //实参和形参类型要对应
    int add =Dome01.add(3,4);
    System.out.println(add);
}
public static int add(int a,int b){
    return a+b;
}
   //值传递 输出为1
       int a = 1;
        Dome02.zhichuan(a);
       // System.out.println(a);

        //引用传递 对象 本质还是值传递
        Person person = new Person();
        System.out.println(person.name);
        Dome02.change(person);
        System.out.println(person.name);
    }

    //void  返回值为空
    public static void zhichuan(int a) {
        a = 10;
    }


    public static void change(Person person){
        //person 是一个对象 指向 ----Person person = new Person();
        person.name="向阳";
    }
}
//定义一个person类 有一个属性 name
class Person {
    String name;//默认值null

}

创建于初始化对象

使用new关键字创建对象  除了分配内存空间之外,还会给创建好的对象进行默认初始化

                及对类中构造器的调用  构造器也称为构造方法

               

package object;

//学生类   一个类只有属性方法
public class Student {
    //属性 : 字段
    String name;//默认null
    int age;//0
    //方法
    public void study(){

        System.out.println(this.name+"在学习");
    }

}
package object;

//一个项目应该只存在一个main方法
public class Dome {
    public static void main(String[] args) {
        //类是抽象的 需要实例化
        //类实例化后会返回一个自己的对象
        //student对象就是一个Student类的具体实例
        Student student=new Student();
        student.name="小明";
        student.age=6;
        System.out.println(student.name);
        System.out.println(student.age);
    }
}

构造器

方法的两个特点 1 必须和类的名字相同 2 必须没有返回类型 也不能写void

public class Student {
    //一个类即使什么都不写 他也存在一个方法
    //显示的定义构造器
    //实例化初始值
    //1.无参使用new关键字 本质再调用构造器
    //2. 用来初始化值
    public Student() {
    }

    //有参构造 一旦有了有参构造 无参就必须显示定义
    public Student(String name) {
        this.name = name;
    }

    //alt +insert 无参有参快捷方式

类与对象 总结 

/*
* 1.类与对象  类是一个模板 抽象 对象是一个具体的实例。
* 2.方法 定义和调用
* 3.对应的引用
*       引用类型 基本类型(8)
*       对象是通过引用来操作的 栈---》堆 引用 指向对象的地址
* 4.属性 字段 Liled 成员变量 
*    默认初始化
*          数字 0  0.0  char u0000 
*          boolean false  引用 null
*   修饰符 属性类型 属性名 =属性值
* 5.对象的创建和使用
*       必须使用new关键字 ,构造器
*  6。类 静态的属性(属性) 动态的行为(方法)
* */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值