【面向对象】01类与对象及两者区别 简单认识方法

类与对象

Java是面向对象的语言,所有Java程序都以类class为组织单元,关键字class定义自定义的数据类型。

开发方法

面向过程开发:结构化开发。面向功能划分软件结构;自顶而下;最小的子系统是方法;制约了软件的可维护性和可扩展性。

面向对象开发:面向对象程序设计(Object Oriented Programming,OOP),把软件系统看成各种对象的集合;系统结构较稳定;子系统相对独立;软件可重用性、可维护性和可扩展性强。

  • 对象:用来描述客观事物的一个实体,由一组属性和方法构成
  • 属性:对象的特征,指对象具有的各种特征
  • 方法:对象的特征,指对象执行的操作
  • :具有相同属性和方法的一组对象的集合,类是对象的抽象,对象是类的具体。

面向对象编程更加符合人类思维习惯,编程也更直观。

类是抽象的,具有相同属性和方法的一组对象的集合。

public class  类名 { 
    //定义属性部分(成员变量)
    属性1的类型 属性1; 
    …
    属性n的类型 属性n;
    
    //定义方法部分(成员方法)
    方法1;
    …
    方法m;
}

定义类的步骤

(1)定义类名:类名建议用英文单词,首字母大写,满足驼峰模式,且要有意义

(2)编写类的属性

(3)编写类的方法

成员变量本身存在默认值,定义成员变量时一般不需要赋初始值(没有意义)。

修饰符 数据类型 变量名称 = 值;

数据类型明细默认值
基本类型byte、short、char、int、long0
基本类型float、double0.0
基本类型booleanfalse
引用类型数组、Stringnull

一个代码文件中,可以写多个class类,但只能一个用public修饰,且public修饰的类名必须成为代码文件名。

对象与对象之间的数据不会相互影响,但多个变量指向同一个对象时就会相互影响了。

s1 = null;
s2 = null; //相当于取消了地址

当堆内存中的对象,没有被任何变量引用(指向)时,就会被判定为内存中的“垃圾”。Java存在自动垃圾回收机制会自动清除掉垃圾对象。

类图用于描述类,直观、容易理解地分析和设计“类”

    Dog           // 类名
+ name:String     // 属性名:类型
+ health:int
+ love:int
+ strain:String
+ print():void    // 方法名(参数):返回值类型

"+":public   "-":private
参数:名字:类型,名字:类型

对象

用来描述客观事物的一个实体,由一组属性和方法构成。对象本质上是一种特殊的数据结构。对象是用类new出来的,有了类就可以创建出对象。

类和对象的关系?

  • class也就是类,称为对象的设计图(对象的模板);
  • 类是抽象的,对象是具体的,类仅仅是一个模板,由类创建的对象;
  • 使用class关键字构建类;
  • 使用new关键字构建对象

通过类创建对象:类名 对象名 = new 类名();

Dog dog = new Dog();

引用类的属性:对象名.属性

dog.name = "汪汪";    // 给name 属性赋值

引用类的方法:对象名.方法名()

dog.run();	  // run()方法

方法

方法:完成某个特定的应用程序功能,并返回结果。

类的方法定义类的某种行为(或功能)

访问修饰符 返回值类型 方法名(){
    //方法主体
}
public void show(){
   System.out.println("姓名:" + name + ",密码:" + password);
}
// 方法名:遵循小驼峰命名规则,要有意义。
// 访问修饰符:public 共有的
// 返回值类型:void 没有返回值

方法的返回值:如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该值的类型。且返回值只能有一个。如果方法没有返回值,返回值类型为void

public class Student{
    String name = "张三";
    public String getName(){
        return name; //return作用:跳出方法、返回结果
    }
}

方法调用:方法之间允许相互调用,不需要知道方法的具体实现,实现重用,提高效率

// 例1:Student类的方法a( )调用Student类的方法b( ),直接调用
public void a() {
    b(); 
}
// 例2:Student类的方法a( )调用Teacher类的方法b( ),先创建类对象,然后使用“.”调用
public void a() {
    Teacher t = new Teacher();
    t.b();
}
  • 15
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值