大家可以关注一下我的博客  我的博客所有随笔都是我从基础开始学习java的所有知识点

类(Class)的概念

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

理解:

[1] 类包含了两个要素:特性和行为 => 同一类事物具有相同的特征和行为。

[2] 类是一个群体性概念。例如:网红、明星、草根、宅男、萝莉、沙雕

[3] 类可以理解为现实生活中所说的 “类型”

为什么会有类的概念?

现实生活中为了更好的区分事物,把事物进行归类,进而更好的认识事物。

在程序中,引入类的概念,就是为了快速生成更多的具有相同特性和行为的事物

对象的概念

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

理解

[1] 对象是通过类生成的。对象一定具备该类的特性和行为。

[2] 对象是个体。类是群体。=> 对象是独立的、唯一的。=> 属于同一类型的对象也是相互独立的。

和对象的区别

类是抽象的,是一个群体概念。对象是具体的,是一个独立个体。

一个独立的对象一定属于某个类。理解为类包含对象

属性

类或者对象具有的特征在程序中称为属性(property/attribute)

具体对象的属性拥有的数据称为属性值。

属于同一类对象都具有相同的属性,但各个对象都拥有各自的属性值。这些属性值区分了不同的对象。

方法

类或者对象的行为称为方法(Method)

在java中

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

对象是用来描述客观事物的一个实体,由一组属性和方法构成。

类是对象的类型。

属性的声明

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

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

属性/成员变量的作用域范围是整个类体。

定义类和对象

开发者可以根据需要自定义类,语法

案例:定义一个类,实例化对象

//类:学生 属性:学号,名字,年龄,性别  方法:1.  learn   2.    showInfo
//创建一个类,Student类的名字{属性{方法}}
public class Student {
//声明类的属性;【修饰符】+数据类型+变量名+【默认值】【】可省略
//一般修饰符省略,默认值不赋值,
String sid;//学号
String name;//名字
int age;//年龄
char gender;//性别
//声明方法public void 方法名(数据类型 变量名名)
public void learn(String cName){//cName是方法本身的变量(局部变量)只在方法本身使用
System.out.println(cName+"名字为:"+name+"学号为:"+sid+"年龄为:"+age+"性别为:"+gender);//输出(变量名) }//方法本身没变量,属性值遍历输出
public void showInfo(){
System.out.println(name);
System.out.println(sid);
System.out.println(age);
System.out.println(gender);
} }
//类:学生 属性:学号,名字,年龄,性别  方法:1.  learn   2.    showInfo
public class Huang01 {
public static void main(String[] args){
//通过Student类创建对象
//Student stu;
//stu = new Student();
// stu是Student类的一个对象,也是Student的一个实例
//new 操作就是实例化过程
Student stu =new Student();
stu.name="张三";//给属性赋值 对象名.属性名=属性值
stu.sid="";
stu.gender='男';
stu.age=;
//调用方法,对象名.方法名()
stu.learn("输出效果--");//方法本身有变量就需要输入数值,没有括号为空
stu.showInfo(); Student stu2 =new Student();
stu2.name="李四";/
stu2.sid="";
stu2.gender='男';
stu2.age=;
stu2.learn("输出效果--");
stu2.showInfo();
}
}

 

局部变量和成员变量

如果在一个作用域中,局部变量和成员变量同名,局部变量的优先级更高。

 局部变量:在方法或者语句块中声明的变量称为局部变量,语句块就是作用域。

局部变量在其所在的作用域有效,出了作用域就无效。

成员变量:在方法外部,类的内部定义的变量称为类的成员变量,简称成员变量。有些地方把属性称为filed(字段)

成员变量必须通过类的实例/对象调用,例如 stu.name ,有时成员变量也称为实例变量。

成员变量 == 属性 == 字段 == 实例变量

类中包含两个成员:成员变量和成员方法。

//需求:用手机播放一首歌曲
//创建CellPhone类
public class CellPhone {
String brand ;
String pigment;
String tupe;
float price;
public void adm(){
System.out.println("手机品牌:"+brand);
System.out.println("手机颜色:"+pigment);
System.out.println("手机型号:"+tupe);
System.out.println("手机价格:"+price); }//class括号内为成员变量,方法内的变量为局部变量 } //创建Music类
public class Music {

String name;
String actor;
int times;
String content;
public void showInfo(){
System.out.println(name);
System.out.println("演唱者:"+actor);
int a=times/3600;       
int b=times%3600/60;
int c=times%60;
System.out.println("时间"+a+":"+b+":"+c);   时间为s,所以    小时:分钟:秒
System.out.println(content);
}
}

 

public class Huang02 {
public static void main(String [] args) {

CellPhone music=new CellPhone();
music.brand="OPPO";
music.pigment="红色";
music.tupe="R21";
music.price=9999;
music.adm();

Music music1=new Music();
music1.name="那2002年的第一次雪";
music1.actor="刀郎";
music1.times=600;      //时间为s
music1.content="那2002年的第一次雪";
music1.showInfo();
}
}

 

总结

面向对象编程就是完成一个复杂的需求需要各个对象之间相互配合完成。对象的创建需要定义类型,java程序就是通过类来组织程序的。

java中一切都是对象。

抽象的概念

根据业务中的对象抽象成计算机可识别的类,简单的说就是抽出各个对象像的部分。

抽象的步骤

[1] 发现类(归类)。类一般用名词。

[2] 发现类的属性(特征)。属性一般用名词。发现类的属性时,一般只放和业务相关的属性。

[3] 发现类的方法(行为)。方法一般是动词。只放和业务相关的方法。

抽象一个下载类。

[1] DownLoad类

[2] url/name/size/progress/type/location…

[3] start()/pause()/stop()/delete()…

java类(Class)的概念;对象的概念,声明类的属性 和方法,局部变量和成员变量,面向对象编程思维,抽象的概念的更多相关文章

  1. JAVA中局部变量 和 成员变量有哪些区别

    JAVA中局部变量 和 成员变量有哪些区别 1.定义的位置不一样<重点>***局部变量:在方法的内部成员变量:在方法的外部,直接写在类当中 2.作用范围不一样<重点>***局部 ...

  2. java基础学习总结三(jdk7新特性、变量(局部变量和成员变量)、常量以及运算符)

    一:jdk7新特性 可以表示二进制数值,以0b开头,中间可以使用下划线_分隔符.如下: @Test /** * 测试jdk新特性 */ public void testJdk7(){ int a=0b ...

  3. java的局部变量和成员变量以及区别

    一.局部变量 存在某个方法中的变量就叫局部变量,局部变量一旦声明就必须赋值 否则不能使用 代码如下: class Person { String name; char sex; int age; pu ...

  4. java局部变量,成员变量在堆和栈中的存储

    对于局部变量,如果是基本类型,会把值直接存储在栈:如果是引用类型,比如String s = new String("william");会把其对象存储在堆,而把这个对象的引用(指针 ...

  5. Java面向对象的局部变量和成员变量

    package cn.itcast.day06.demo03; /* 局部变量和成员变量 1. 定义的位置不一样[重点] 局部变量:在方法的内部,类的方法内部 成员变量:在方法的外部,直接写在类当中 ...

  6. 《java中局部变量和成员变量的区别》

    class Car { String color; int number; void run() { System.out.println(color+"::"+number); ...

  7. Java 的局部变量和成员变量

    在Java语言中没有全局变量  分析各种变量的作用域的最简单方法是以花括号为界, 1.在类体中定义的是成员变量,成员变量会被默认初始化 2.在方法中定义的是局部变量,局部变量不会被默认初始化

  8. Java中的局部变量、成员变量和静态变量

    直接看代码 public class Variable { // 静态变量,属于类的变量,且用关键字static声明,不属于实例,虽然可以通过实例来调用,但是不建议 private static in ...

  9. JAVA局部变量和成员变量的区别

    成员变量与局部变量的区别 1.在类中的位置不同 成员变量:在类中方法外面 局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中) 2.在内存中的位置不同 成员变量:在堆中(方法区中的静态区) ...

随机推荐

  1. 五、Redis持久化配置

    转载:[https://www.cnblogs.com/xingzc/p/5988080.html] Redis提供的持久化机制(RDB和AOF) Redis提供的持久化机制 Redis是一种面向“k ...

  2. bugku crypto easy-crypto

    长度不一的01字符串 就要考虑是不是摩斯密码 用这个py脚本: from __future__ import print_function a = input("input the stri ...

  3. 《AutoCAD Civil 3D .NET二次开发》勘误1

    第十三章atc文件中Displayname应为DisplayName,注意Name的N为大写,否则参数名称无法正常显示. 给您带来的不便深表歉意!

  4. mpvue——Error: Cannot find module 'escape-string-regexp'

    报错 $ cnpm run build > mpvue-qq@1.0.0 build D:\wamp\www\wxsmallsoft\mini-0212\mpvueQQ > node bu ...

  5. WordPress安装官方文档教程

    01.可访问的网址 02.目录和软件 包括: 访问 web服务器 (通过 shell 或者 FTP)的权限 一个 文本编辑器 一个 FTP客户端 (如果你需要在一个远程服务器上安装WordPress) ...

  6. Linux-yum只下载不安装

    通过yum命令只下载rpm包不安装 经常遇到服务器没有网络的情况下部署环境,或者创建自己的 yum 仓库等.每次都是在网上搜搜搜,都是五花八门,自己整理了下自己用到的以下三种方式,这里没有太多废话,只 ...

  7. antd Tree组件中,自定义右键菜单

    最近项目中,有一个需求是自定义antd的Tree组件的右键菜单功能. 直接上代码 class Demo extends Component { state = { rightClickNodeTree ...

  8. CF235B Let's Play Osu! 期望DP

    貌似是一道很裸的期望\(DP\).直接说思路: 设\(f[i]\)表示到\(i\)位置时的期望分数,但是只有\(f[i]\)的话我们发现是无法转移的,我们还需要知道到\(i\)位置时的期望连续长度,于 ...

  9. 深入了解SQL的四种连接&不然要命的!

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stude ...

  10. window配置ftp服务,代码客户端上传下载文件

    1 开启ftp服务 打开控制面板,点击程序,找到程序和功能,点击”打开或关闭windows功能” 找到“Internet信息服务”,点击前面的加号,展开功能,勾选”FTP服务”,“FTP扩展性”,“I ...