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等没有那么多的语法特性,所以差别还是比较大的. 一 ...
随机推荐
- 用Java给数组排序
public class BubbleDemo {public static void main(String[] args) { int arr[]={1,3,5,7,2,4,6,8,9}; bub ...
- SQL-37 创建索引
题目描述 针对如下表actor结构创建索引:CREATE TABLE IF NOT EXISTS actor (actor_id smallint(5) NOT NULL PRIMARY KEY,fi ...
- mybatis动态sql #和$的区别
$和#都支持动态sql:就是你传什么它就是什么 区别: 1.#可以防止sql注入在sql执行时显示 '?' 比$安全 SELECT * FROM table WHERE id = ? 2.在使用#传入 ...
- [PyImageSearch] Ubuntu16.04下针对OCR安装Tesseract
今天的博文是安装和使用光学字符识别(OCR)的Tesseract库的两部分系列的第一部分. 本系列的第一部分将着重于在您的机器上安装和配置Tesseract,然后使用tesseract命令将OCR应用 ...
- 牛客多校第四场 G Maximum Mode
链接:https://www.nowcoder.com/acm/contest/142/G来源:牛客网 The mode of an integer sequence is the value tha ...
- leetcode55:跳跃游戏
解题思路1: 从头往后找每一个为0的元素,判断这个0能够跳过,所有的0都能跳过,则返回True,否则返回False 解题思路2: 从前往后遍历数组,设置一个访问到当前位置i时最远可调到的距离maxle ...
- python-函数参数不固定
默认参数的应用场景: 1.默认安装 2.数据库连接,默认端口号 参数不固定的情况: 参数组: args:将接收的位置参数转换成元组 def test(*args): print(args) ...
- jetty调优
jetty服务器使用遇到一下内存溢出的问题: java.lang.OutOfMemoryError: unable to create new native thread 无法创建新的进程 方法: ...
- JAVA面向对象和类
一.构造方法 1.构造方法是一个与类同名的方法,用来对类进行实例化(创建对象) 2.特点 1).构造方法没有返回值: 2).构造方法的名称要与本类的名称相同. 例 public class Test{ ...
- 20165228 2017-2018-2 《Java程序设计》第2周学习总结
20165228 2017-2018-2 <Java程序设计>第2周学习总结 教材学习内容总结 标识符:名字 组成:字母/下划线/美元符号或数字 注意:标识符的第一个字符不能是数字字符,且 ...