java小白也能懂的面向对象

Posted y_can

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java小白也能懂的面向对象相关的知识,希望对你有一定的参考价值。

类是对一组具有共同特征和行为的对象的抽象描述。

理解

[1]专门用于描述现实生活中的事物的。

[2]类描述的事物都具有共同的特征和行为。

[3]类就是我们通常所说 “类型” ,描述的是一个群体概念对群体性概念是一个抽象描述

 

案例: 高富帅、白富美、屌丝沙雕

 

为什么要提出类的概念?

现实生活中,提出类的概念就是为了认知识别事物

 

 

类可以快速生成对象,类是对象的抽象描述

 

1.1 对象(Object)的概念

对象是类的一个具体实现对象表示的是一个独立的,唯一的个体。

 

对象的特征:

[1] 独立的,唯一的 => 对象和对象之间是相互独立的,没有任何关系。即使同一类型的对象。

[2] 对象承载的数据一定是不同的。

[3] 对象描述的是个体对象具体的。特指某一个具体的事物。

[4] 对象一定具有类所属的特性和行为。

 

1.2 属性

程序中,类或者对象的特征称为属性。属性用于的数据叫做属性值。例如:对象小明拥有姓名属性,小明就是姓名的属性值。

 

1.3 方法

程序,或者对象的行为称为方法。

 

在程序类和对象的表述:

类是一组具有相同属性和方法的对象的抽象描述。

对象是一个具体的事物,具有一组属性和方法。

 

1.4 如何定义一个类

创建->创建对象->解决具体业务问题

 

语法

[修饰符] class 类名{

   属性

   方法

}

 

定义一个Student

public class Student{

 

// 学生的特性(属性)

String id;

String name;

int age;

char gender;

 

public void sayHi(){

System.out.println("我的姓名:"+name+",我的学号:"+id);

}

}

 

总结:

[1]的定义包含两部分成员,一个是属性、一个是方法。

属性因为定义的位置,也称为成员变量,本质上属性就是的一个成员方法也成员类的成员方法。

[2]属性的作用域是整个类型,所以方法中可以直接访问属性。

[3]在定义成员变量时可以对其初始化。如果不对其初始化,Java使用默认的值对其初始化。(数值:0,0.0   char:u0000,  boolean:false,  所有引用类型:null)  

[4]属性定义格式:

[修饰符]   属性类型   属性名 [=默认值]

 

 

面向对象的语言中,整个程序的基本单位是类,通过类来组织程序。

所有的类声明的变量都是引用数据类型引用数据类型必须通过new申请空间。

 

1.5 创建对象的过程

创建一个对象分为两个步骤:声明对象,然后申请内存空间。

// 1】声明s1的变量,s1是一个Student类型的对象

// s1Student的其中一个实例

// Student s1 = null;

 

// 2】给s1申请内存空间(实例化的过程)

//s1 = new Student();

 

通过.访问对象的成员(属性方法)通过实例结合.可以访问属性/成员变量,所有属性/成员变量也称为实例变量。

 

public class Test01{

 

public static void main(String[] args){

Student s1 = new Student();

//s1.name = "二狗";

//s1.id = "001";

//s1.age = 20;

s1.sayHi();

//System.out.println(s1);

 

 

Student s2 = new Student();

//s2.name = "三狗";

//s2.id = "001";

//s2.age = 20;

s2.sayHi();

//System.out.println(s2);

}

}

 

对象内存图

 

 

1.6 如何利用面向对象思维思考问题?

需求:手机播放Mp3—最炫名族风

public class Phone{

 

String brand;

String type;

float price;

String color;

 

public void start(){

System.out.println(brand+":"+type+" start...");

}

public void stop(){

System.out.println(brand+":"+type+" stop...");

}

 

public void play(Music music){

System.out.println(brand+":"+type+" play:"+music.name);

System.out.println(music.singer);

music.friendlyTime();

 

System.out.println(music.content);

 

}

 

}

public class Music{

 

String name;

String category;

String content;

String singer;

int time; // 单位是秒

 

public void friendlyTime(){

int h,m,s;

h = time / 3600;

m = time % 3600 / 60;

s = time % 60;

System.out.println("时长:" + ((h>0) ? (h+":"):"") +m+":"+s);

}

}

public class Test03{

 

public static void main(String[] args){

 

 

Phone phone = new Phone();

phone.brand = "Apple";

phone.type = "iPhone x";

phone.price = 10000.0f;

 

Music music = new Music();

music.name = "最炫名族风";

music.singer = "凤凰传奇";

music.time = 151;

music.content = "苍茫的天涯是我的爱 苍茫的天涯是我的爱 苍茫的天涯是我的爱";

 

phone.play(music);

}

}

以上是关于java小白也能懂的面向对象的主要内容,如果未能解决你的问题,请参考以下文章

人人都能懂的原型对象

小白也能懂的 Nacos 服务模型介绍

小白也能懂的 Nacos 服务模型介绍

新手小白学JAVA 面向对象 类 对象 封装

程序员小白如何理解面向对象?

程序员小白如何理解面向对象?