java_oop_类与对象
类与对象
包
方法
=========================================
对象的概念
类与对象的关系
万物皆对象
属性(名词)
对象的属性
属性的值
方法(动词)
对象执行的操作
对象:用来描述客观事物的一个实体,由一组属性和方法构成
对象有一个特征叫封装
对象同时具有属性和方法两项特征
对象的属性与方法通常被封装在一起,不能分割
从对象抽象出类
抽取出不同对象共同的属性与方法来形成类
例如两个人都是顾客类
类是对象的类型
不同于int类型:类这个类型有方法
类是抽象的概念,仅仅是模板,比如说"人"
对象是一个你能看到的,摸的着的具体实体
宠物--现实世界的对象
如何在计算机中描述它
从现实中抽象出类分三步:
1找出它的各类
2找出它的属性
3找出它的行为
用面向对象的思想描述世界
第一步:发现类 根据对象抽象出类
第二步:发现类的属性
第三步:发现类的方法
//第一步定义类名
class Dog{
//第二步编写类的属性
String name="旺财";//昵称
int health=100;//健康值
int love=0;//亲密度
String strain="拉布拉多犬";//品种
//第三步编写类的方法
public void print(){
//输出狗信息的代码
}
}
===============================
声明类的语法和步骤
类的命名与规范
类的实例化
对象的使用
null
类属性的默认初始值
类概述
所有的java程序都以类class为组织单元
关键字class定义自定义的数据类型
String是jdk定义的一个类型
class是用来自定义类型的
--------------------------------
声明类的语法和步骤
写属性就相当于类的声明
public class 类名{
//定义属性部分
属性1的类型 属性1;
......
属性n的类型 属性n;
//定义方法部分
方法1;
方法m;
}
public class Test{
//声明了三个属性
int age=10;
String name;
int[] nums;
//声明方法
public void test(){
System.out.println("aaaaaaaa");
}}
------------------------------
类的实例化(创建对象)
创建实例(对象)
类名 实例名 = new 类名();//new后面跟的是构造方法
引用实例成员:使用.进行以下操作
引用实例的属性:实例名.属性
引用实例的方法:实例名.方法名()
-------------------------------------------------
类中属性的默认值
1.数字类型(int,short,byte,long,float,double)的初始化默认值是0
2.boolean的初始化默认值是false
3.引用类型的初始化默认值是null。例如字符串类型
类中方法中的属性默认值是没有的
这是两者之间的一个重要区别。所以方法中的属性使用时一定要赋值。
package com.fgy.eclipse; public class DogTest { public static void main(String[] args) {
Dog d1 = new Dog();
d1.age = 18;
d1.name = "white";
d1.pz = "11"; int age=d1.age;//既可以定义一个变量来接收实例的属性
System.out.println(d1.age);//也可以直接输出 Dog d2 = new Dog();
d2.age = 5;
d2.name = "black";
d2.pz = "22"; Dog d3=null;
d3.age=20;
}
}
===============================================
类与文件的关系
包概述
如何使用包
包的命名规范
导入类及类的搜索顺序
jdk中提供的包
类与文件的关系
1一个文件中可以包含有多个java类
2但是最多只有一个public类,可以没有,但是一般来说一个文件中有一个public类
3java文件的名称要与其中的public类名一致
package com.fgy.eclipse;
public class Demo2 {
}
class fish{
}
----------------------
包概述
用于组织java类的一种机制
作用:
相关功能的类可以以包的形式组织在一起
避免命名冲突
访问控制
----------------------
使用包
package关键字
----------------------
导入类
import关键字,使用不同包中的类
单类型导入:import p1.p2.classname;
按需导入:import p1.p2.*;
ctrl+shift+o快速导入类
类的搜索顺序(按优先级依次降低):
1当前编译单元(即同一个类的之中)
2单类型导入(单类型就是指定的,确定的,例如import com.sh.dj.Dog)
3同一个包中的其它类
4按需导入(import com.sh.dj.*)
-----------------------------------
不需要显式导入的类,主要是jdk中相关的类。例如java.lang包中的类,
String是其中之一类
System也无需显式导入
以下是jdk中的部分包
java.lang 核心类
java.util 工具类,集体框架
java.io 输入与输出流
java.nio 新输入与输出流
java.sql JDBC相关类
java.net 网络编程类
java.time 时间处理类
java.swing UI类
=====================================
java_oop_类与对象的更多相关文章
- Java编程里的类和对象
像我们搞计算机这块的,都知道这么一件事,当前的计算机编程语言主要分为两大块,一为面向过程,二为面向对象.Java就是一门纯面向对象的语言.学习了一个月左右的Java,在下对于Java当中的类和对象有了 ...
- Python - 类与对象的方法
类与对象的方法
- C++基础知识(5)---类和对象
终于把C++中的基础在前面的几篇博客中总结完了,可能还有一些语法还没有总结到,没关系,以后用到了再查资料就好.类是C++中的一个非常重要的概念,这是区别你使用的C++到底是面向过程还是面向对象的一个重 ...
- 简述JavaScript对象、数组对象与类数组对象
问题引出 在上图给出的文档中,用JavaScript获取那个a标签,要用什么办法呢?相信第一反应一定是使用document.getElementsByTagName('a')[0]来获取.同样的,在使 ...
- 前端学PHP之面向对象系列第一篇——类和对象
× 目录 [1]类 [2]成员属性[3]成员方法[4]对象[5]成员访问[6]this 前面的话 面向对象程序设计(OOP)是一种计算机编程架构.计算机程序由单个能够起到子程序作用的单元或对象组成,为 ...
- Objective-C Runtime 运行时之一:类与对象
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一 ...
- [Java入门笔记] 面向对象编程基础(一):类和对象
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...
- 解析Java类和对象的初始化过程
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来 ...
- 02OC的类和对象
这章重点介绍OC的类以及对象,由于C语言是面向过程语言,而OC只是对于C语言多了一些面向对象的特性,所以OC相对于其他面向对象语言,例如C#.Java等没有那么多的语法特性,所以差别还是比较大的. 一 ...
随机推荐
- 201621123001 《Java程序设计》第9周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 关于泛型 <T extends Comparable <T ...
- Problem B: 重载函数:max
Description 编写两个名为max的函数,它们是重载函数 ,用于求两个整数或实数的最大值.它们的原型分别是: int max(int a,int b); double max(double a ...
- tf多线程读取数据
多线程读取数据的机制 tf中多线程读取数据跟常规的python多线程思路一致,是基于Queue的多线程编程. 主线程读取数据,然后计算,在读数据这部分有两个线程,一个线程读取文件名,生成文件名队列,另 ...
- Domination(概率DP)
Domination 题目链接:https://odzkskevi.qnssl.com/9713ae1d3ff2cc043442f25e9a86814c?v=1531624384 Edward is ...
- Creating and Destroying Objects
Consider static factpry methods instead of construction 四个优点两个缺点 One advantage of static factory met ...
- AVD Manager 模拟器使用
一.模拟器配置 1.双击启动AVD Manager,进入配置界面 2.点Create按钮创建 3.配置模拟器基本信息 --AVD Name:设备名称,自己定义一个,用英文(不要用中文) --Devic ...
- mysql 数据类型day43
数据类型 一数值类型 1 整数类型 默认是有符号的 unsigned 没有符号 zerofill0t 小整数 TINYINT [(m)] 1个字节 8bit 2**8 256 m 最多3位 最低 -1 ...
- 1) 上传多张图片时 ,对 $_FILES 的处理. upload ; 2)fileinput 上传多张图片. 3) 修改,删除的时候删除原来的资源,图片 update, delete , 删除 4)生成器中两个字段上传图片的时候,要修改生成器生成的代码
1上传多张图片, 要对 $_FILES进行 重新处理. //添加 public function addCourseAlbumAction() { $CourseAlbumModel = new Co ...
- centos服务器删除/usr目录怎么办
凉拌 两种方法: 第一:重装系统,因为你的大部分命令使用不了了,如果你的服务器还有应用程序在跑,那你的服务也会有问题,因为一些服务的lib包也会放在此目录下,貌似需要重新装才可以 第二:利用ios镜像 ...
- 联想 Lenovo PWR-G60 无线掌中宝拆机
从朋友那里弄了台Lenovo PWR-G60,现在已经停产了,淘宝上某店卖的国产WIFI Pineapple貌似就是拿这个刷的,打算出篇DIY教程 现在人在外地,编程器.热风枪.烙铁工具啥的都没有,更 ...