回首看Java类与对象

类和对象的关系

     类实质上定义的是一种对象类型,他是对具有相似行为的对象的一种抽象,广义上说就是对象的集合,比如说,众多的人组成人类,人就是人类这个类的实例化,再比如,找女朋友这个问题上,女朋友是一个类,这个类具有女性,肤白貌美的属性,将女朋友这个类实例化就是确定到某一个人了。类是对象的抽象表现,对象是类的具象,ps:对象不止一个.

封装的概念

概念:把相关的数据及其操作组织在类内,构成独立意义的构件(组件),称为封装。

比如:生活中的各种控制开关,遥控器,都用到类的封装,他们把这些功能封装在一个小盒子里,在操作时,只需要按控制键,不需要知道怎么去工作的,对外只是表现为封装体系间的接口关系。包概念的体现了封装性,将一组类封装在一个包内。

封装基本单位:

对象

类的创建

类有2中基本成分:变量和方法,变量可以使是基本类型,是数组,也可以是实例,方法负责处理这些变量,【方法中变量只能在类中定义,类的方法一般是public     类的变量一般是private】

比如创建一个女朋友的类

public class girlfriend

{

private float shengao;

private float sanwei;

private int age;

private float weight;

以上是对这个类进行属性的定义【身高,三围,年龄,定义为私有,不能随随便便被人知道吧】

有了成员变量,得有成员方法来处理这些变量,女生大都爱吃,就定义一个吃的方法

void eat(){

System.out.println("l like eating")
}

方法定义完成后就开始调用这个方法,前提是你得有个女朋友。【也就是类的实例化】

public static void main(String args[])//主函数入口

{

girlfriend mm=new girlfriend();//类的实例化,女朋友有了,叫mm。

mm.eat();调用这个方法//使用女朋友的功能

   }

}


注意事项:

访问对象方法/属性。如果是静态方法/属性,是带有static关键字的属性,可以直接通过类名来访问

Java程序执行过程分析,一张图告诉你



举个栗子:

源文件:鲜活的鱼

编译器:刀具

字节码文件:被杀的鱼

解释器:炊具

工程:鲜美的鱼汤


方法的分类

1类方法【静态方法,带有static的关键字的方法】

2.实例方法,用户自己写的方法【自定义方法】

3.构造方法【方法名与类名一模一样】

声明方法常用格式

访问修饰符  返回类型 方法名(参数列表){

方法体

}

带有final的关键字的方法,表名该方法不能被重载,也不能被覆盖


方法重载

概念:多个方法名相同,参数不同【在一个类中】

参数不同体现在以下2点

1.参数类型相同,个数不同

2参数个数相同,类型不同

方法调用

1,非静态     对象名.方法名();

2,静态      对象名/类名.方法名();

方法与方法之间的调用

1.在本类中,静态方法直接调用静态方法,直接写方法名即可

2.在本类中,静态调用非静态方法,就必须通过对象来调用【对象名.方法()】

3.在不同类中,静态调用其他类中静态方法     方法【类名.静态方法名.()】

4.在不同类中,静态调用其他类中非静态方法   需要导入被调用的类中的包,以及通过创建对

象调用【在调用主类中创建从类中的对象调用】调用的类称主类,被调用的称从类 容易曲分

非静态方法内部调用

1.在本类中,非静态方法可以直接调用非静态方法

2.在不同类中非静态方法调用其他类静态方法,需要导入被调用类中的包,并且需要通过类名来调用

3.在不同类中  ,非静态调用其他类中非静态方法 ,需要导入被调用的类中的包,以及通过创建对象调用【在调用主类中创建从类中的对象调用】调用的类称主类,被调用的称从类 容易曲分。


方法参数及其传递问题

Java中只有值传递,不存在引用传递

值传递:

1.基本类型传递:在栈道中分配内存,在传入时,实参会多复制一份,在方法内修改参数不影响原实参。

2.引用类型传递【不是引用传递】这里看代码

字丑了


方法递归

所谓递归,就是方法调用自身,但不会无休止调用下去,这里遵循条件。要想使用递归,遵寻下面要求;

1.必须满足一个结束条件

2.方法调用自身

类的属性

1.全局变量【定义在类中 在方法外面,类中的方法都可以访问它】

2.局部变量【定义在类中,某个方法里,只有这个方法可以访问】


this关键字

接地气来说,this指的是当前对象,至于哪个对象,只有在运行期间才能知道是哪一个对象

具体看图

最后来说说包

   咱要说的包可不是书包,背包,LV包,要说的是Java中的包。

怎么说呢 ,比如,在电脑上创建文件夹,对文件进行分类,分成视屏,音乐,照片,学习资料,当然还有苍老师,这就是对文件分文别类,Java中的包就起到类似文件夹的作用,主要给class分类的工作。便于维护管理。


包名的定义:package com.canglaoshi

用包导入类型

1.导入包中所有的类

import  包名.*;

2.导入包中具体的类

import 包名.类名

3.编辑包

{

1.javac -d.类名.java

d:创建目录

" . ":当前目录 比如编辑一个女朋友类 Javac -d. girlfriend.java

如果在类中是这样去定义一个包【package com.women.meimv;】

那么就可以在com的文件夹下的women的文件下的entity文件夹下找到 girlfriend.java 文件

2.Java  包路径/类名【了解即可】

}

包名规范

建议全部小写,不管有多少个单词组成

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,565评论 18 399
  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 1,122评论 0 2
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,066评论 0 62
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,627评论 0 11
  • 今天收到了平生第一次QQ悄悄话,内容很简单: 3 我一连串问题,那个“匿名好友”说:就…就是随便发发… 我差点就信...
    我有嘉宾阅读 206评论 0 0