Java学习笔记之面向对象
面向对象概念
面向对象编程 &面向过程编程
面向对象:关心是谁来做
面向过程:关心的是怎么做
面向对象总结成一句话:就是分工与协作,干活的是对象
生活中: 对象 -----抽象-------->类
Java: 类 --------孵化------->对象
类中有属性:
1,属性为静态特征
2,属性有访问修饰符 ,临时变量不能有访问修饰符。
3,属性写在类中,不能写在方法中。
4,变量必须要初始化才能使用,那么属性不赋值会有默认值: 整数 小数0.0 char:空字符 boolean:false 引用数据类型:null
5,属性的赋值是默认值,如果你手动设置了就会覆盖这个值
类中有方法:动态的行为能力(成员方法 、 构造方法)
构造方法:也是一种行为能力,是特殊的行为能力,孵化对象的能力。构造方法可以有N个
特点:
1,方法名(必须跟类名一样) ,构造方法没有返回值类型。首字母大写。
2,当我们没有定义构造方法的时候,系统默认给我们定义无参的构造方法。
3,如果有定义构造方法,系统就不会给你默认一个无参的构造方法。
4,当有多个构造方法的时候,他们的参数列表一定不一样
访问修饰符 方法名([参数列表]){
方法体;
}
public Phone(String s){
System.out.println("有参构造方法 。。。。。 ");
} public Phone(){
System.out.println("无参构造方法 。。。。。 ");
}
类和对象实例
1,定义类
2,由类孵化(构造)对象
3,使用这个对象: 数据类型 变量名 = new 构造函数(); new 在堆内存中申请分配的空间
Phone p1 = new Phone("asdfasdfas");
4,使用(设置 \获取)属性:对象名.属性名
p1.type = "小米6";
p1.color = "red";
p1.price = 3000 ;
5,使用方法:对象名.方法名
p1.call("13125166028");
p1.playGame();
关于包
包:package
1,以域名的倒叙。不能使用java等一些关键字开头,否则编译不过。,
2,所有的类都给一个包,没有包的类不能被别的类引用。
3,包名不要用中文、中文
4,包+类名 不重复
5,当我们想用其它包中的类,需要import
com.hp.seven4.Demo06
com.baidu.map.XXXX
Java学习笔记之面向对象的更多相关文章
- Java学习笔记之---面向对象
Java学习笔记之---面向对象 (一)封装 (1)封装的优点 良好的封装能够减少耦合. 类内部的结构可以自由修改. 可以对成员变量进行更精确的控制. 隐藏信息,实现细节. (2)实现封装的步骤 1. ...
- Java学习笔记之面向对象、static关键字
一周Java学习总结 今天就总结理清一下关于面向对象和面向过程的程序设计的一些不同特点,以及讲下static关键字. 面向对象 现在接触的Java是面向对象的,现在的程序开发几乎都是以面向对象为基础的 ...
- Java 学习笔记(4)——面向对象
现在一般的语言都支持面向对象,而java更是将其做到很过分的地步,java是强制使用面向对象的写法,简单的写一个Hello Word都必须使用面向对象,这也是当初我很反感它的一点,当然现在也是很不喜欢 ...
- 【原】Java学习笔记019 - 面向对象
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 仔细想一想,Ani ...
- Java学习笔记--关于面向对象的思考
1.不可改变的类生成对象以及变量的范围 2. 关键词this的使用 3.用类抽象的思想制作软件 4.通过关系模型建立类 5.使用面向对象的范例来设计程序,遵循类设计指导. 已经学习了:怎么定义类已经创 ...
- 疯狂java学习笔记之面向对象(一) - 定义类、方法、构造器
Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. ja ...
- java 学习笔记2 面向对象(上)
类和对象 类是某一批对象的抽象,可以把类理解成某种概念.对象是一个具体存在的实体.类和对象是面向对象的核心. 类定义的是多个实例的特征,类不是具体存在,实例才是具体存在. 定义类(class)的语法: ...
- 【原】Java学习笔记016 - 面向对象
package cn.temptation; public class Sample01 { public static void main(String[] args) { // this 关键字 ...
- 【原】Java学习笔记014 - 面向对象
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 面向对象思想 // ...
随机推荐
- asp.net core 使用 NLog日志
NLog是一个配置灵活的日志记录类库,拥有输出日志到文件.存储入库.发送到udp地址的高级功能 1 添加 nlog nuget包 Nlog和NLog.Web.AspNetCore 安装完成后 2 ...
- Android 图片处理之 Fresco
一.关于 Fresco github: https://github.com/facebook/fresco API: http://www.fresco-cn.org/javadoc/referen ...
- JVM学习(虚拟机栈、堆、方法区)自我看法
堆(Heap): 此内存区域唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配.这一点在java虚拟机规范中的描述是:所有的对象实例以及数组都要在堆上分配. 虚拟机栈(Stack): 虚拟机栈主 ...
- Python中使用高德API实现经纬度转地名
场景 高德API提供给开发者们一些常用功能的接口,其中有一种叫地理/逆地理编码能实现 地名查询经纬度和经纬度查地名. 实现 高德API平台: https://lbs.amap.com/ 注册并登陆 找 ...
- tlc549
#include <reg51.h> #include "TLC549.c" code uchar seven_seg[] = {0xc0, 0xf9, 0xa4, 0 ...
- 初识Node.js之Node与java作为后台服务器的对比
> 文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. :锁的基本概念到Redis分布式锁实现
拓展阅读:Redis闲谈(1):构建知识图谱 Redis专题(2):Redis数据结构底层探秘 近来,分布式的问题被广泛提及,比如分布式事务.分布式框架.ZooKeeper.SpringCloud等等 ...
- JDBC的批处理学习rewriteBatchedStatements=true
如果在不添加批处理指令的情况下,mysql默认是不使用批处理操作,如果在url尾部添加rewriteBatchedStatements=true 可以使当前连接 使用批处理操作 创建数据库表结构 cr ...
- gym102346题解
B Buffoon 判断最大值是不是第一个数,签到题. H Hour for a Run 输出\(n*m\)的\(10\%\)到\(90\%\),签到题,注意别用浮点数和ceil,有精度问题. M M ...
- Spring Boot (六): 为 JPA 插上翅膀的 QueryDSL
在前面的文章中,我们介绍了 JPA 的基础使用方式,<Spring Boot (三): ORM 框架 JPA 与连接池 Hikari>,本篇文章,我们由入门至进阶的介绍一下为 JPA 插上 ...