9.JAVA类与对象

本文深入浅出地讲解了面向对象编程的基础概念,包括类与对象的关系、方法定义与调用、静态与实例化、属性与构造器,以及如何通过实例创建和操作对象。实例演示了Java和Java类的实例化,强调了封装、继承和多态的重要性。
摘要由CSDN通过智能技术生成

对象:

OOP:面向对象编程 OO:面向对象

类 = 属性+ 方法

三大特性: 封装 继承 多态 在代码的角度是现有类,再有对象

方法:

修饰符 返回值类型 方法名(。。。){

//方法体

return 返回值;        // 返回什么样的值就返回什么样的类型

}

也可以在student函数中加入static使用静态方法,在main函数中使用student. say()输出结果相同.

只能实际参数传到形式参数
package OOP;
public class Demo3 {
    public static void main(String[] args) {
//静态方法 static
        //静态方法
        //  student.say();
        //要是调用 一是那一个文档加static 2.实例化这个类 new
//static和类一起加载的 ,就是两个都是静态或者非静态可以调用,不同不能调用

        //非静态
     //对象类型 对象名字 = 对象的值;
        student student = new student();
        student.say();

输出:
学生说话了
package OOP;
public class student {
    public void say(){
      System.out.println("学生说话了");
    }

}
package OOP;
//引用传递:对象,本质还是值传递。
public class Demo6 {
    public static void main(String[] args) {
        Person person = new Person();
        System.out.println(person.name); //null

        Demo6.change(person);
        System.out.println(person.name); //liuyang
    }
    public  static  void  change(Person person){
        //person是一个对象:指向的----> Person person = new Person();这是一个具体的人可以改变
        person.name ="liuyang";
    }
}
//定义了一个Person类,有一个属性: name
class Person{
    String name;
}

输出:
null
liuyang
面向对象本质就是:以类的方式组织代码,以对象的组织(封装)数据。
package OOP;
//类和对象的创建 63
               //使用new关键字创建对象

//学生类  一个简单的类:属性+方法
public class Demo7 {
    //属性:字段
    String  name;
    int age; //0
}
package OOP;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import org.w3c.dom.ls.LSOutput;

//一个项目只存在一个main方法
public class Demo7Application {
    public static void main(String[] args) {
    //类:抽像的 ,实例化
    //类实例化后会返回一个自己的对象!
    //demo7对象就是一个Demo7的具体实例
       Demo7 xiaoming= new Demo7();
       Demo7 xiaohong= new Demo7();         //new关键字创建对象
xiaoming.name="小明";
xiaoming.age = 2;
       System.out.println(xiaoming.name);
       System.out.println(xiaoming.age);
}
}


输出:
小明
2
一个类即使什么都不写,他也会存在一个方法
使用new关键字,本质是在调用构造器。
有参构造:一旦定义了有参构造,无参就必须显示定义
IDEA快捷键:alt+insert自动生成有参 无参
构造器:
1构造器和类名相同
2没有返回值
作用
1new本质在调用构造方法
2初始化对象的值
注意点
1定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造
this .代表当前类 = (代表当前传进来的值)
先创建一类,再创建一个对象。
package OOP;

public class Demo9Pet {
    public String  name;
    public int age;
    //无参构造
    public void shout(){
        System.out.println("叫了一声");
    }
}
package OOP;
//先创建一类,在在这边创建一个对象。
public class Demo9 {
    public static void main(String[] args) {
        Demo9Pet person = new Demo9Pet();
        person.name ="刘洋";
        person.age=23;
        person.shout();

        System.out.println(person.name);
        System.out.println(person.age);

    }

}
输出:
叫了一声
刘洋
23

总结:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值