类和对象

现实世界,随处可见的一种事物就是对象。对象是事物存在的实体。人不可能记住每个实体,所以将具有相同特点的东西归为类。对象有两部分组成,动态和静态。静态是属性,动态是方法。

类是封装对象的属性和行为的载体。

类中对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的。

成员变量:类的属性的叫法。

成员方法:

权限修饰符  返回值类型  方法名(类型参数  参数名){

………. // 方法体

return  返回值;

}

类的构造方法

与类同名的方法,对象的创建通过构造方法完成。其特点如下:

1,        构造方法没有返回值

2,        构造方法的名称要与本类名相同。

静态变量、常量和方法

由static修饰的变量、常量和方法叫静态变量、常量和方法。

static: 五种1:静态成员变量2:静态成员方法3:静态代码块4:静态内部类X5:静态导包

static:可以被类名直接调用

类名.属性名类名.方发名static与非static之间的重要区别:区别1:static修饰的成员是随着类的加载而加载(优先)

非static成员是随着对象的创建而加载区别2:

静态方法|静态代码块只能调用静态成员,非静态成员是不能直接调用的,创建对象(不能使用this关键字)非静态方法可以直接调用非静态成员,也可以调用静态成员.类的对象进行调用静态成员区别3:静态成员对于多个对象而言是共享的非静态成员对于多个对象是彼此独立的

对象

对象的创建:Text text = new Text();

Text text = new Text();

类名 对象名= new 类名(参数(可以为空)

);

访问对象的属性和行为:对象.类成员的方式来获取。

对象的引用: 类名  对象引用名称

对象的比较:Java中两种比较对象的方式,分别为“==”运算符与equals()方法的区别。Equals()方法是比较两个对象引用所指的内容是否相等;而“==”运算符比较的是两个对象引用的地址是否相等。

对象的销毁:暂且不知道。

封装

封装的概念:将类的某些信息隐藏在类的内部,不允许外部类直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作。

封装的实现:1,通过访问修饰符

2,通过基本类型的类封装

没有什么具体的方法,封装体现在Java的思想里。(目前的理解,随时改!)

继承

类的继承

基本思想是基于某个父类进行扩展,得到一个新的子类。子类可以继承父类的原有方法和属性,也可以增加原来父类所不具备的属性和方法,或者直接重写父类的某些方法。

继承:类和类之间的关系

在Java所有类都默认继承自Object

class child extends Parent extends关键字实现类的继承

单根性:一个类只能存在一个父类

在Java中的继承:子类可以继承父类的任何非私有成员(变量方法

构造)  子类永远比父类拥有更多的成员

子>父

Object:任意一个类都直接或间接继承Object 在MyEclipse中查看继承架构图的快捷键为ctrl+T  ctrl+O 查看类中的所有成员

native:不是由java实现的,而是由C语言实现的

final:常量 类(代表该类不能被继承) 方法(该方法不能被子类重写)

类型转换

向上转型: 子类向父类转换 自动

向下转型: 父类向子类转换 强制ClassCastException instanceof  (在调用子类特有的成员时)

子类可以再任何时刻替代父类: is a关系

方法的重载

方法重写:子类继承了父类的方法后,要对父类的方法进行改写 要求除了方法体之外,其他的必须一致(就进原则)

super:超类super代表父类的对象

构造函数:函数名与类名完全相同, 没有返回值类型

执行时机:是在类的实例化的过程中,会自动调用构造函数

作用:完成类的成员变量的初始化

快捷键: alt+shirf+s generate

constructor........

@Override:注解 标识的作用

类和类之间发生继承关系的情况下:构造是如何调用的

实例化子类的同时:会先执行父类的无参构造

super():隐式调用 必须位于第一行

带参构造必须显示调用

多态

多态:发生在具有继承关系的实体中,不同实体为了完成同一操作(函数名)所采取的不同方式(方法体)。

里氏替换原则:(LiskovSubstitutionPrinciple):在出现超类的位置上,可以使用其子类对象 。由于,子类比父类更优秀,出现父类的任何位置,子类都可以使用)

多态实现的三种方式:

父类类型接收子类对象实现的多态

父类类型作为方法形参

父类类型作为方法返回值

抽象类

抽象类: abstract关键字修饰的类

不能直接实例化

内部可以存在抽象方法:

1 使用abstract关键字修饰

2 不能存在方法体

3 子类必须重写 除非子类也是抽象类

普通类: 既能存在抽象方法,又能存在非抽象方法。可以构造函数

接口

接口象征着一种能力:实现类对应接口的实现类,表明具备该种功能。

达摩java_JAVA面向对象相关推荐

  1. 董东 java_Java面向对象程序设计

    1. Java是什么样的语言? 答:Java语言是一门用途广泛的.面向对象的语言.Java语言可以编写桌面应用.手机应用及企业应用.Java简洁优雅,易于学习. 2. 没有学过编程,能学吗? 答:本课 ...

  2. 类的成员包含 java_Java 面向对象(十五)类的成员 之 内部类

    一.内部类 1.引入 类的成员包括: (1)属性:成员变量: (2)方法:成员方法: (3)构造器: (4)代码块: (5)内部类: 其中1.2是代表这类事物的特征: 其中3.4是初始化类和对象用的: ...

  3. polymorphism java_Java基础-面向对象第三大特性之多态(polymorphism)

    Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的 ...

  4. lol java_JAVA初学者第一课:用开发LOL的思路来掌握JAVA的面向对象思想

    面向对象系列教材 (一)- Java中的类和对象 很多想要学习JAVA的同学在第一次看到面向对象这个词汇时,都是一脸懵逼,甚至跟着视频学完了java基础,也还是感觉很抽象.但这的确是JAVA最核心的思 ...

  5. c面向对象 java_JAVA基础--面向对象08

    一.final关键字 有的时候不想别人重写我的方法,使用final关键字修饰该方法,final:最后的,最终的,可以修饰类.修饰函数.修饰变量,修饰类:该类不能被继承:直接写在class关键字前面 修 ...

  6. 阿里成立达摩院,引入10位顶尖科学家3年投入预计超1000亿,马云提出4条期待(附:学术咨询委员会成员名单)

    记者 | 鸽子 10月11日上午,在2017杭州·云栖大会上,阿里巴巴集团正式宣布成立承载"NASA计划"的实体组织--"达摩院",进行基础科学和颠覆式技术创新 ...

  7. 阿里达摩院XR实验室2022校招内推

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 阿里达摩院-XR实验室2022校招 面向对象:2022年11月~2023年10月毕业的应届毕业生 工作地: ...

  8. 阿里达摩院-XR实验室2022春招校招内推

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 阿里达摩院-XR实验室2022春招校招 面向对象:2022年11月~2023年10月毕业的应届毕业生 校招面 ...

  9. 阿里研发支出连续三年登顶; 《MIT科技评论》为阿里AI语音技术点赞;达摩院引入以色列著名计算机视觉科学家 | 周博通... 1

    每周一早晨,阿里妹为你呈现最新的阿里技术资讯.这份"技术早餐"里,包含重磅的阿里技术新闻,独特的大牛观点,精彩的活动资讯等,五分钟时间,让你成为"周博通". 话 ...

最新文章

  1. liunx上安装nacos
  2. C#中Struct与Class的区别
  3. MySql隔离级别多线程并发读取数据时的正确性
  4. 换Ubuntu邮件客户端Evolution为Thunderbird
  5. Loader之一:基本原理
  6. APNIC IP 库
  7. WPF 创建自定义面板
  8. php template strring,PHP字符串函数
  9. 简短介绍_简短的自我介绍
  10. cisco4503端口镜像配置
  11. 在VS2017(VC15)上配置opencv4.0.1环境
  12. Windows游戏加速外挂-变速齿轮 学习笔记-【第一篇】
  13. 简单Python爬取链接二手房信息
  14. c语言中字符型char数据在内存中占,互联网常识:在c语言中char型数据在内存中的储存形式为什么...
  15. android 源代码 毛笔,Android-毛笔的探索与开发
  16. 前端如何进行seo优化
  17. 深度讲解VIEWPORT和PX是什么
  18. 易语言游戏基址内存数据CEAA自动汇编脚本注入及CALL的调用
  19. 【JQuery】关于jQuery的load方法在Laravel里的使用
  20. 使用Java开发一个做数据共享的联盟链思路

热门文章

  1. shutdown()函数:优雅地断开TCP连接
  2. 产品推广系统推荐乐云seo_优化推广公司红利产品推荐“爱采购cpc竞价版”
  3. 小米路由器mini改打印服务器_如何把家里的闲置路由器用起来
  4. js请求结果拦截机器_分享:一步一个脚印,vue入门之axios的应用及拦截封装
  5. Python-OpenCV 笔记4 -- 形态学操作(Morphological Operations)
  6. c++计算-eigen(1)
  7. c++计算eigen随笔(3)-求逆
  8. 【NLP】如何清理文本数据?
  9. 【学术相关】2020 图灵奖发布,两位编程语言先驱、《龙书》作者获奖
  10. 【机器学习基础】xgboost系列丨xgboost建树过程分析及代码实现