当前位置: 首页 > news >正文

JAVA 中的类和对象(1)

类的概念:

 类是具有相同属性和行为的一组对象的集合、雷士对象的抽象:类可用Class来定义,类的变量和方法可被称为该类的实例访问,圆点符号用于访问对象的成员

对象:

对象是存在的具体尸体,具有明确定义的状态和行为,对象是类的实例:

封装:

隐藏属性、方法或者实现细节的过程称为封装

包:

包是将类组合在一起形成代码模块的一种机制;包可用package来申明,可用import来导入包





继承;

继承使得子类可以利用父类中定义的方法及属性、就像他们属于子类本身一样。它允许创建分等级层次的类。运用继承,你能创建一个通用类,它定义了一系列项目的一般特性,可用创建一个新类,新类是通用类的一个类型,具有通用类的属性及方法,同时新类可用增加一些自己特有的东西,可通过关键字extends来继承

继承的优点:

代码的可重用性:一旦设计和调试了一个类,则可以从其中派生出子类,可以轻松的自定义子类,设计应用程序变得更加简单;可以通过在子类中添加更多的方法来扩展现有类的功能,避免了冗余,也就是两个类中相同的代码只需要编写一次,代码的维护有更加容易,因为代码在一个位置,还可以减少代码的大小


多态

  多态性是指“多种形式”,它使用不同的实例而执行不同的操作;多态性包括方法重写和方法重载;

重写(override):子类和父类的方法具有相同的名称和类型,仅重定义父类的操作而不引入新特征,用子类对象调用子类中的重写方法;Java实现多态性的一种表现形式

重载(overioad):类中有多个具有相同名称的方法,方法具有不同的参数列表,Java实现多态性的一种表现形式

(同一个类中,方法名称相同,参数列表不同或返回值不同(但返回值不能是唯一不同的地方))


成员变量;作为类的成员而存在,直接存在于类中

局部变量:作为方法或语句块的成员而存在,存在于方法的参数列表和方法定义中

成员变量与局部变量的区别;

class A 

int a;//成员变量 
public static void main(String[] args) 

int b;//局部变量 

}

1.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;两者都可以定义成final型 
2.成员变量存储在堆,局部变量存储在栈 
3.存在时间不同 
4.成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量不会自动赋值



相关文章:

  • Java语言基础2
  • Java语言基础1
  • C语言运算符表达式
  • C语言基本数据类型
  • Java的三大方向介绍
  • Java的字符串
  • 集合类(一)
  • 集合类(二)
  • 集合类(三)
  • 集合类(四)
  • Sql server基础
  • SQL多表连接查询
  • SQL server 多表查询与视图的使用
  • 浅谈JS中this
  • eclipse如何导入jar包
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • ES6系统学习----从Apollo Client看解构赋值
  • extjs4学习之配置
  • extract-text-webpack-plugin用法
  • fetch 从初识到应用
  • Linux中的硬链接与软链接
  • mongodb--安装和初步使用教程
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • windows下如何用phpstorm同步测试服务器
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 翻译:Hystrix - How To Use
  • 如何编写一个可升级的智能合约
  • 如何胜任知名企业的商业数据分析师?
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • $refs 、$nextTic、动态组件、name的使用
  • %check_box% in rails :coditions={:has_many , :through}
  • (1)Nginx简介和安装教程
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (二)WCF的Binding模型
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (十一)图像的罗伯特梯度锐化
  • (算法设计与分析)第一章算法概述-习题
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .net refrector
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET开发人员必知的八个网站
  • .skip() 和 .only() 的使用
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • @Autowired多个相同类型bean装配问题
  • @serverendpoint注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @SpringBootApplication 包含的三个注解及其含义
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务