目录

一、类和对象

1.类的特点

2.类和对象的关系

3.总结

二、类的定义

1.类的定义步骤

2.代码示例

三、对象的使用

1.创建对象

2.使用对象

3.单个对象(代码)

4.多个对象(代码)

四、成员变量和局部变量

1.定义

2.区别

五、private关键字

1.概念

2.代码示例

六、this关键字

1.this修饰的变量用于指代成员变量

2.是么时候用this?

3.this代表所在类的对象引用

4.代码示例

七、封装

1.概述

2.原则

3.好处

八、构造方法

1.概述

2.注意事项

3.代码示例

九、标准类

十、结束语


一、类和对象

在讲解类和对象前,我们先来思考一个问题,什么是对象?

万物皆对象,客观存在的事物皆为对象。

我们在想,什么是类?

类是对现实生活中一类具有共同属性和行为的事物的抽象。

1.类的特点

  1. 类是对象的数据类型
  2. 类是具有相同属性和行为的一组对象的集合。

接下来我们在想,什么是对象的属性?

属性:对象具有的各种特征,每个对象的每个属性都有特定的值。

那什么又是对象的行为?

行为:对象能够执行的操作。

2.类和对象的关系

类:类是对现实生活中一类具有共同属性和行为的事物的抽象。

对象:是能够看的到摸得到的真实存在的实体。

3.总结

类是对象的抽象 ,对象是类的实体。

二、类的定义

类的重要性:是Java程序的基本组成单位

类的组成:属性和行为

  • 属性:在类中通过成员变量来体现(类中方法外的变量)
  • 行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)

1.类的定义步骤

  1. 定义类
  2. 编写类的成员变量
  3. 编写类的成员方法

public class 类名{

//成员变量

变量1的数据类型 变量1;

变量2的数据类型 变量2;

......

//成员方法

方法1;

方法2;

......

}

2.代码示例

在该例子中,我们定义一个手机类,在该类中包括成员变量(品牌、价格),还包括成员方法(打电话,发短信)。

public class Phone {//成员变量String brand;int price;//成员方法public void call() {System.out.println("打电话");}public void sendMessage() {System.out.println("发短信");}
}

三、对象的使用

1.创建对象

格式:类名 对象名 = new 类名();

范例:Phone p = new Phone();

2.使用对象

1.使用成员变量

格式:对象名.类名

范例:p.brand

2.使用成员方法

格式:对象名.方法名

范例:p.call()

3.单个对象(代码)

还是关于手机的例子,在这之前我们已经定义了一个手机类,接下来就是创建对象和使用对象。在该例子中,我们将手机品牌赋值为华为,手机价格赋值为5999,再调用手机类中的call()方法和sendMessage()方法。

public class PhoneDemo01 {public static void main(String[] args) {//创建对象Phone p = new Phone();//使用对象System.out.println(p.brand);System.out.println(p.price);p.brand = "华为";p.price = 5999;System.out.println(p.brand);System.out.println(p.price);p.call();p.sendMessage();}
}

4.多个对象(代码)

多个对象便是创建多个对象,并对这些对象进行赋值和调用。

public class PhoneDemo02 {public static void main(String[] args) {//创建p1对象Phone p1 = new Phone();p1.brand = "小米";p1.price = 4999;//使用p1对象System.out.println(p1.brand + "," + p1.price);p1.call();p1.sendMessage();//创建p2对象Phone p2 = new Phone();p2.brand = "vivo";p2.price = 3999;//使用p2对象System.out.println(p2.brand + "," + p2.price);p2.call();p2.sendMessage();}
}

四、成员变量和局部变量

1.定义

成员变量:类中方法外的变量。

局部变量:方法中的变量。

2.区别

区别 成员变量 局部变量
类中位置不同 类中方法外 方法内或者方法声明上
内存中位置不同 堆内存 栈内存
生命周期不同 随着对象的存在而存在,随着对象的消失而消失 随着方法的调用而存在随着方法的调用完毕而消失
初始化值不同 有默认的初始值 没有默认的初始值,必须先定义,赋值,才能使用

讲完类中成员变量和局部变量,我们接下来讲类中的private关键字。

五、private关键字

1.概念

  1. 是一个权限修饰符。
  2. 可以修饰成员(成员变量和成员方法)。
  3. 作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问。针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作。
  • 提供"get变量名()"方法,用于获取成员变量的值,方法用public修饰。
  • 提供"set变量名(参数)"方法,用于设置成员变量的值,方法用public修饰。

2.代码示例

我们先定义一个Student学生类,用private修饰成员变量age,并用get变量名()方法获取成员变量的值,set变量名(参数)方法设置成员变量的值。我们在setAge()方法中增加判断语句来判断年龄是否是大于0小于120。

public class Student {//成员变量String name;private int age;//提供set和get方法public void setAge(int a) {if (a < 0 || a > 120) {System.out.println("你输入的年龄有误");} else {age = a;}}public int getAge() {return age;}//成员方法public void show() {System.out.println(name + "," + age);}
}

接下来我们来定义一个学生测试类。

public class StudentDemo {public static void main(String[] args) {Student p = new Student();p.name = "迪丽热巴";
//        p.setAge(-28);p.setAge(28);p.show();}
}

六、this关键字

1.this修饰的变量用于指代成员变量

  1. 方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量。
  2. 方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量。

2.是么时候用this?

解决局部变量隐藏成员变量。

3.this代表所在类的对象引用

方法被那个对象调用,this就代表那个对象。

4.代码示例

我们先定义一个Teacher教师类,在该类中用private修饰成员变量name和age,并使用set()和get()方法用于设置和获取成员变量的值。

public class Teacher {private String name;private int age;public void setName(String name) {this.name = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}public void show() {System.out.println(name + "," + age);}
}

接下来我们定义一个教师测试类。

public class TeacherDemo {public static void main(String[] args) {Teacher t = new Teacher();t.setName("胡歌");t.setAge(30);t.show();}
}

七、封装

接下了我们来讲面向对象的三大特征之一的封装。

1.概述

是面向对象三大特征之一(封装、继承、多态)

是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法

直接操作的。

2.原则

将类的某些信息隐藏在类内部,不允许外部成员直接访问,而是通过该类提供的方法来实现对隐藏

信息的操作和访问成员变量private,提供对应的get()和set()方法。

3.好处

  • 通过方法来控制成员变量的操作,提高了代码的安全性。
  • 把代码用方法进行封装,提高代码的复用性。

八、构造方法

1.概述

构造方法是一种特殊的方法

作用:创建对象

格式:public class 类名{

修饰符 类名(参数){

}

}

2.注意事项

1.构造方法的创建

1)如果没有定义构造方法,系统将会给出一个默认的无参构造方法。

2)如果定义了构造方法,系统将不再提供默认的构造方法。

2.构造方法的重载

如果自定义了带参构造方法,还要使用无参构造方法,就必须再写一个无参构造方法。

3.推荐的使用方式

无论是否使用,都手工书写无参构造方法。

3.代码示例

我们先定义一个Company公司类

public class Company {private String name;private int number;//    public Company(){
//        System.out.println("无参构造方法");
//    }public Company() {}public Company(String name) {this.name = name;}public Company(int number) {this.number = number;}public Company(String name, int number) {this.name = name;this.number = number;}public void show() {System.out.println(name + "," + number);}
}

接下来我们定义一个公司测试类

public class CompanyDemo {public static void main(String[] args) {Company c = new Company();c.show();Company c1 = new Company("字节跳动");c1.show();Company c2 = new Company(30);c2.show();Company c3 = new Company("腾讯", 40);c3.show();}
}

九、标准类

最后我们来讲一下标准类的制作,首先我们定义一个Student学生类,在该类中我们定义了两个成员变量name和age,并手工书写一个无参构造方法,接下来用set()和get()方法来设置和获取成员变量的值,最后通过学生测试类来测试代码是否无误。

public class Student {//成员变量private String name;private int age;//构造方法public Student() {}public Student(String name, int age) {this.name = name;this.age = age;}//成员方法public void setName(String name) {this.name = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}public void show() {System.out.println(name + "," + age);}
}
/*
标准类制作*/
public class StudentDemo {public static void main(String[] args) {//无参构造方法创建对象后使用setXxx()赋值Student s1 = new Student();s1.setName("古力娜扎");s1.setAge(30);s1.show();//使用带参构造方法直接创建带有属性值的对象Student s2 = new Student("古力娜扎", 30);s2.show();}
}

十、结束语

今天的讲解到这里就告一段落了,在本次讲解中,我们首先讲到了类和对象的定义,其次我们讲到了对象的使用,还有成员变量和局部变量的区别,我们还讲了private和this关键字的概述和使用,最后我们讲了面向对象三大特征之一的封装,在接下来的几篇我会陆续讲到剩余的几大特征。好了,本次讲解就到这里了。创作不易,期待你的一键三连。

Java学习——类和对象(上)相关推荐

  1. java学习--类与对象

    文章目录 java学习--类与对象 类的定义与对象的使用 类的私有成员的使用 java学习–类与对象 类的定义与对象的使用 类的定义与对象的使用 类的定义步骤: public 类名: //定义成员变量 ...

  2. java学习---类与对象

    java学习心得3 文章目录 java学习心得3 类 对象 关键字this 总结与反思 类 一 定义一个Java的类 属性 : 将数据存储在变量中 1成员变量 使用成员变量:对象名.变量名 使用成员方 ...

  3. Java 学习 类与对象讲解

    类与对象的概念 : 什么是类 什么是对象 类与对象指的是一种编程思想,其中类是类别的概念,对象是这个类别中一个具体的个例 比如: 学生类对应 某一名具体的学生   计算机类 对应我正在使用的这台计算机 ...

  4. Java学习 --- 类与对象

    目录 一.问题需求 二.类与对象关系图 三.类与对象的关系 四.什么是类 五.什么是对象 六.对象的内存分布图 一.问题需求 有两只猫,第一只叫小白,年龄:1岁,颜色:白色,第二只叫小黑,年龄:2岁, ...

  5. Java 学习 类和对象练习 设计一个类Armor护甲 继承Item类并且额外提供一个属性ac: 护甲等级 int类型 实例化出两件护甲 名称 价格 护甲等级 布甲 300 15 锁子甲 500 40

    设计一个类Armor护甲     继承Item类,并且额外提供一个属性ac: 护甲等级 int类型          实例化出两件护甲     名称 价格 护甲等级     布甲 300 15    ...

  6. java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用

    java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用 七十年代,IBM的Smalltalk语言最先推广面向对象,后来C语言变为C++,后来C++又产生了J ...

  7. Java学习-类的隐藏机制(封装性)

    Java学习-类的隐藏机制(封装性) 1.封装的含义 2.类的setXXX 和 getXXX 3.this关键字 4.总结 1.封装的含义 封装(encapsulation)是面向对象的三要素之一(其 ...

  8. java面向对象-类和对象

    Java面向对象笔记 文章目录 Java面向对象笔记 java面向对象 类和对象 什么是类 定义 创建和使用 公式 构造方法 什么是构造方 怎么定义和使用构造方法 实列 This关键字 什么是成员变量 ...

  9. python代码学习——类与对象提升(继承、超继承,类的例题,魔术方法)

    python代码学习--类与对象提升 继承 继承的特殊属性: 代码示例 方法的重写和覆盖(overrrid) 总结 超继承 继承中的初始化 多继承 例题 类的魔术方法 哈希(hash)和eq方法 bo ...

最新文章

  1. Request.ServerVariables参数集
  2. Acronis Disk Director 10 硬盘操作详细教程(三)分区表修复
  3. 【项目管理】记第一次出差到客户现场推进项目验收感悟
  4. 附加作业:源自刘乾老师的问题
  5. VS中生成、清理项目、调试、開始运行(不调试)、Debug 和 Release等之间的差别...
  6. email 添加附件 java_Java发送email 带附件 | 学步园
  7. mysql 开发进阶篇系列 23 应用层优化与查询缓存
  8. 使用浏览器地址栏调用CXF Webservice的写法
  9. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_01 File类_1_File类的概述
  10. 金融科技助力智慧运营
  11. android怎么实现记住密码功能,Android学习笔记——记住密码的功能实现(一)
  12. java 数独算法_[Java] 数独生成和求解
  13. 明天省赛,我都还不太熟悉Dev - C++,怎么切换成C++11了?它的报错看不懂呀,那花八分钟看看这篇文章吧~解决你的困惑。
  14. python的多元数据类型(上)
  15. 【信号处理】因果系统的理解
  16. Godaddy上的域名如何取消自动续费?
  17. 如何书写一手优雅的代码之小刚有话说
  18. 反编译插件jad和jd-jui
  19. 饥荒联机版服务器搭建教程-WeGame
  20. YOLOv3中的非极大值抑制

热门文章

  1. 网站运营的9个常用搜索技巧
  2. Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
  3. Oracle存储过程
  4. 戴尔dell工作站5820,通电后电源指示灯白灯长亮-待更新
  5. 括号配对检测python123_括的意思
  6. 如何切换计费模式中的“按需”和“包年包月”?
  7. 小米有品众筹仅249!Oclean X智能触屏电动牙刷6日劲爆开抢
  8. 2010年全球移动行业回顾:iPad大热 中国崛起
  9. Visual Studio 2019 操作使用
  10. 抖音短视频创业,抖音机房怎么样搭建?有哪些技巧