---恢复内容开始---

  类和对象是java编程中很重要的应该面向对象的一课,实际上可以将类看作对象的载体,它定义了对象所具有的功能。Java是面向对象的语言,因此掌握类与对象是学习Java语言的基础。

 1、什么是类?

   类是具有相同的属性和功能的事物的抽象的集合,在面向对象程序设计中,人们把一类事物的静态属性和动态可以执行的操作组合在一起就得到类这个概念。类是个抽象的概念,用来模拟一类事物,一旦定义了一个类,这个类就永远存在。比如:人,人包含着有中国人和外国人,他们都有行为等相同的属性,他们都具有走路,吃饭,工作等这些相同的,可动态执行的操作,所以可以定义“人类”这样一个类来包含他们相同的属性和功能。

 2、怎么定义类?

1 package  pkg1;    //定义一个class类。
2   public class Car{
3         private String name;
4         private int age;
5   }6   public void brakes{
7
8   }

注:1. 类名称首字母要大写,如果要定义的类名称由多个单词组成,则每个单词的首字母都要大写。

2. 如果是对外公开的方法需要用“public”关键字修饰。
 3、普及java中修饰符。

  概念不多说,这篇笔记从代码入手。(为了直观的讲解,下面代码编写可能会使用到中文)

public class 车品牌{private String 品牌;private int 速度 = 0;public void 品牌(String 品牌){this.品牌 = 品牌;}public void 踩油门(){if(速度<100){this.速度 += 20;}}public void 轻踩刹车(){if(速度>0){速度 -= 5;}if(this.速度<0){this.速度 = 0;}}public void 显示速度(){System.out.println("速度是:"+this.速度);}}

定义类的成员变量的示例如下:

就是类的属性。这种变量分为成员变量和局部变量

  成员变量

  1. 成员变量定义在类中,在整个类中可以被访问。
  2. 成员变量有默认初始化值。

  局部变量:

  1. 局部变量只定义中局部范围内,如:方法内,代码内
  2. 局部变量存在于栈内存中。

:在方法体外,类体内的声明在变量称为成员变量。

  在方法体内部声明的变量称为局部变量。

在这里变量不要被外部引用,所以一般情况下使用private修饰符。

方法即对象的行为,为定义在类中的具特定功能的一段独立的小程序,方法也称为函数

方法运行后的返回结果的数据类型,

方法的特点:

定义方法可以将功能代码进行封装。

便于该功能进行复用。 方法只有被调用才会被执行。

方法的出现提高代码的复用性。

4、调用方法:

同样再写一个测试类的文件

 1 package pkg1;
 2
 3 class Test{
 4     public static void main(String args[]){
 5         车品牌 小飞车= new 车品牌();
 6
 7         小飞车.踩油门();
 8         小飞车.轻踩刹车();
 9
10         小飞车.品牌("宝马x5");
11         小飞车.显示速度();
12     }
13 }

首先先创建一个对象

语法:类名  对象名=new 类名();

大多数学习java的都会写,但是理解方面是这样的,new一个类名,就会得到一个对象,而这个对象的类型就是这个类名的类型比如说:Car car=new Car();//就是通过new一个Car类名,得到car这个对象,而这个对象就是Car类型的。

所以先new出一个对象

用对象名.方法名获取参数

运行效果

构造方法 

  构造方法作用就是对类进行初始化。 如果你没有定议任何构造方法的形式,程式会为你取一个不带任何参数的构造函数,那么你产生类的对像时只能用不带参数的方法,如:class a {}//没有任何构造函数。

  构造方法就是与类同名的那个方法,它的作用是可以用来初始化,例子如下:

 1 package pkg5;
 2
 3 public class Car{
 4     private String 品牌;
 5     private int 价格= 200000;
 6
 7     //构造方法
 8     public Car(String 品牌){
 9         this.品牌 = 品牌;
10     }
11
12     public void setCar(){
13
14         System.out.println("品牌:"+this.品牌+" "+"价钱:"+this.价格);
15     }
16 }

测试类:

1 package pkg5;
2
3 public class Test{
4 public static void main(String[] args){
5         Car c1 = new Car("比亚迪-唐");  //作用
6         c1.setCar();
7
8     }
9 }

new一个对象的时候要用到构造函数,
例如Car c = new Car();这时调用的是Hello的无参数构造方法;  Car c = new Car("比亚迪-唐");这个是调用Hello有参数构造方法,在JAVA中如果不写构造方法的话,会默认加上一个无参数的构造方法,但是如果已经有了一个有参数的构造方法,那么无参数的构造方法就不会默认被加上.如果Hello类中已经有了一个有参数的构造方法,这时再使用Car c = new Car();来创建对象的时候就会出错,这就是为什么书上要强调写了有参数的构造方法就最好加一个无参数的构造方法。

 this关键字

每个实例方法都有一个this的关键字,他引用正在被调用的方法的所属当前对象,在你的方法引用一个实例变量时,编辑器会隐含使用的这个变量。

this关键字主要有三个应用:

 (1)this调用本类中的属性,也就是类中的成员变量;(2)this调用本类中的其他方法;(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。

转载于:https://www.cnblogs.com/xym15079750872/p/10691929.html

java类与对象(属性,方法)的使用相关推荐

  1. 八、Java面向对象编程(类、对象、方法、重载、可变参数、作用域、构造器、this本质)

    文章目录 Java面向对象编程(类.对象.方法.重载.可变参数.作用域.构造器.this本质) 一.类与对象 1. 类与对象的引出 2. 使用现有技术解决 3. 现有技术解决的缺点分析 4. 类与对象 ...

  2. python类、对象、方法、属性之类与对象笔记

    为什么80%的码农都做不了架构师?>>>    python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... ...

  3. python类和对象介绍_python中的类,对象,方法,属性等介绍

    注:这篇文章写得很好.加底纹的是我自己的理解 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...

  4. python如何对一个属性或方法进行封装_python 类、对象、方法、属性

    在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) ...

  5. String类的对象的方法 格式小结 java 1202

    String类的对象的方法 格式小结 java 1202 定义一个字符串 两种方法可以定义字符串 String 字符串对象 = "内容" String 字符串对象 = new St ...

  6. java猫抓老鼠_用猫抓老鼠的实例理解java中面向对象的编程与类和对象以及方法的概念...

    今天看到马士兵讲的关于面向对象编程的思路,用了一个猫抓老鼠的例子,我觉得这个例子非常形象,于是写在这里,方便学习理解和以后查看 class cat{ //声明一个类–"猫" int ...

  7. java类同步_Java中方法,对象,类的同步

    关于在多线程环境中使用同步,我需要一些澄清.我在下面有一个小例子类.但我实际上发现很难做出以下内容如何工作的测试用例;我想要测试用例的原因是要了解同步如何处理这些不同的场景 >如果一个线程调用S ...

  8. java类与对象实验_JAVA类与对象实验报告

    <JAVA类与对象实验报告>由会员分享,可在线阅读,更多相关<JAVA类与对象实验报告(6页珍藏版)>请在人人文库网上搜索. 1.面向对象程序设计实验报告实验三.类与对象(1) ...

  9. 杨校老师课堂之Java类与对象、封装、构造方法

    杨校老师课堂之Java类与对象.封装.构造方法 本篇文章内容如下: 面向对象 类与对象 三大特征--封装 构造方法 教学目标 能够理解面向对象的思想 能够明确类与对象关系 能够掌握类的定义格式 能够掌 ...

最新文章

  1. LTE中基本通信过程的理解——上行调度
  2. traceroute/tracert--获取网络路由路径
  3. transformer详解 大牛 wmathor
  4. 如何理解“跳出率”,它对SEO有什么影响?
  5. 判断string是否为数字
  6. [译] 曝光!UX 行话大全
  7. Unity MeshRender更换材质球方法
  8. 「JavaScript面向对象编程指南」原型
  9. 【转】一个ASP.NET MVC中ajax调用WebApi返回500 Internal Server Error的调错方法。
  10. 字符串的模式匹配--BF算法KMP算法
  11. python mysql s_Python-MySQL
  12. github 仓库中文名_github仓库的使用
  13. 弘辽科技:想要利用直通车打造爆款,这个技巧一定要把握
  14. 写一个函数,求一个字符串的长度。
  15. ANT:修改测试报告的样式jmeter-results-shanhe-me.xs
  16. 使用JME3开发的Android 3D游戏 - 落樱之剑v2.2
  17. 关于pos打印机通过tcp/ip操作打印指令集
  18. APP设计尺寸规范大全,APP界面设计新手教程【官方版】
  19. java中new一个对象时具体都发生了什么?
  20. jQuery事件 笔记

热门文章

  1. 双目立体放大!谷歌刚刚开源的这篇论文可能会成为手机双摄的新玩法
  2. 高效!Anchor DETR:旷视提出一种基于Transformer的目标检测神器!
  3. 重磅 | 阿里AI labs百万美元年薪聘请两位顶级视觉科学家
  4. Keras深度学习框架配置
  5. tensorflow 特征预处理总结
  6. 英语c开头语言,字母c开头的英语短语
  7. ResNet原理和实现
  8. html 5效果不显示,详解如何解决H5开发使用wx.hideMenuItems无效果不生效
  9. 值得推荐的威胁情报平台
  10. 2016下半年网络规划设计师考试上午真题