java面向对象day01
前言:
1.首先我们要明白:万物皆对象。现实中存在的事物都是对象。而面向对象技术就是对客观事物进行抽象。
2.而java语言是纯面向对象的的语言,它具有描述对象及其相互之间关系的语言成分。
3.定义类和建立对象是Java的主要任务。
一:面向对象的思维
1.万物皆对象,对象有行为(成员方法)和属性(成员变量)。
2.面向对象是基于面向过程的。
3.面向对象的三大特征:封装,继承,多态。
4.对象(object)定义:对象具有属性和方法,也就是我们说的特征和行为。
5.类:(class)定义:类为对象的类型,是具有相同属性方法的对象的集合。
6.消息;(message):消息类似与函数的调用,,通过消息机制可以实现对象之间的交互。
消息的三个组成部分;
- 消息接收者(接收对象名)
- 接收对象应采用的方法
- 方法所需要的参数
二:类和对象
1.类的定义:对象的类型,具有相同属性方法的集合。
2.类的组成:属性(变量,描述特征) 行为(方法,描述行为)
3.类和对象的联系:类是对象的概括或者是抽象,对象是类的实例化。
4.类和对象的理解:具体万物都是对象。
5.类的定义和使用:
【修饰符】 class 类名 【extends 父类名】【implements 接口名列表】{ //注意:【】表示此内容可有可无
成员变量(类的属性)
构造方法(初始化对象的一种特殊方法)
成员方法(描述类的功能)
}
6.构造方法:专门用来进行对象的初始化工作的。也称为构造函数。
语法;
[访问修饰符] 类名(){
}
注意:
当类中没有显式的构造方法,实例化该类的对象时,程序会自动创建一个公开的无参构造方法;
如果类中有显示的构造方法,程序就不会创建无参构造;
构造方法的名字必须与其类名相同。
构造方法没有返回值。
例如:
public class Student(){//Student类
String school;
public Student(){//构造方法
age=15;
school=“哈哈哈哈哈”;
}
public void showAge(){
System.out.println(" "+age);
}
7.刚开始学习的时候可能不懂什么叫做实例化:
实例化:就是用类创建对象的过程。
语法: 类名 对象名=new 类名(参数.........);
而实例化一个对象就是:为对象开辟内存空间。或者是不用声明,直接使用new构造函数名建立一个临时的对象。
例如:
public class A{
> public static void main(String[] args)【
> B b=new B();//实例化
> 】
> class B{
> public void print(){
> System.out.println("hello world")
> }
> }
>
三:this关键字
1.this表示当前对象,代表当前类的一个实例。为了解决java中变量的命名冲突和不确定性问题。
2.一个构造方法中需要调用同一个类的另一个构造方法,可以通过this()调用,但需要注意的是,this()语句必须写在可执行代码的第一行。
例如:
package com.num3.lianxi;
/*一个构造方法中需要调用同一个类的另一个构造方法,
可以通过this()的方式调用,但this()必须要书写在第一行
*/
public class Lianxi32 {
int i=20;
public Lianxi32(){
System.out.println("这是无参构造函数");
}
public Lianxi32(int i){
this(); //调用无参构造函数
this.i=i;
}
public void test(){
int i=30;
System.out.println(i);
System.out.println(this.i);
} public static void main(String[] args) {
Lianxi32 t=new Lianxi32();
t.test();
}
}
四:java中包的使用
1.包的定义:区别类名空间的的机制。
2.作用:解决类名冲突问题,管理java文件。
3.包的创建:
package 包名1【包名2】【包名3】
4.包的使用:
import语句可以引入包中的类。
java面向对象day01的更多相关文章
- JAVA面向对象
JAVA面向对象 对象 我们生活中能看到能摸到的一切事物都是对象.在程序中模拟出生活中的所有东西万物皆对象 只要是对象--属性和行为(方法) 属性 对象有什么 例如:学生有姓名.学 ...
- 理解JAVA - 面向对象(object) - 属性,方法
理解JAVA - 面向对象(object) - 属性,方法 多态的体现: 向上造型,父类接收子类对象:向上造型: 从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都 ...
- Java面向对象㈠ -- 封装
Java的面向对象有三大特征:封装.继承.多态.这里主要对封装进行讲解. 封装可以理解为隐藏一个类的成员变量和成员函数,只对外提供需要提供的成员函数. Java的封装主要通过访问权限控制符:priva ...
- 谈谈Java面向对象的三大特性
Java面向对象的三大特性就是指封装.继承.多态了. 一.封装: 概念:封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. (举例:笔记本电脑就是一个封装体,Java语言中最小的封装体就是函数 ...
- Java面向对象:接口
Java面向对象之接口 什么是接口:接口是一种规范和标准,他们可以约束类的行为,是一些方法特征的集合 语法: [修饰符] interface 接口名 extends 父接口1,夫接口2....... ...
- 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- java基础1.0::Java面向对象、面向对象封装、抽象类、接口、static、final
一.前言 一直以来都是拿来主义,向大神学习,从网上找资料,现在就把自己在工作中和学习中的所理解的知识点写出来,好记星不如烂笔头,一来可以作为笔记自己温习,二来也可以给走在求学之路的同学们一点参考意见, ...
- 20145212《Java程序设计》实验报告二 《 Java面向对象程序设计》
20145212 实验二< Java面向对象程序设计> 实验内容 单元测试 三种代码 伪代码 百分制转五分制: 如果成绩小于60,转成"不及格" 如果成绩在60与70之 ...
- 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...
随机推荐
- react基础语法(三)组件的创建和复合组件
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- TCP/IP详解之IP协议
1.IP协议 IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输.要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制 ...
- 浅谈p值(p-value是什么)
当我们说到p-value时,我们在说什么? “这个变量的p-value小于0.05,所以这个变量很重要” ........ 你真的知道自己在说什么么???这个p-value到底是个什么鬼?为什么小于0 ...
- caffe proto
所在目录为: /src/caffe/proto 在caffe.proto中定义了很多结构化数据,比如LayerParameter.Datum.NetParameter.SolverParameter. ...
- numpy次方计算
>>> 2**np.arange(3, 6) array([ 8, 16, 32])
- C++中:点运算符和箭头运算符的区别
点运算符用于获取对象成员: 箭头运算符用于获取指针指向的对象的成员: 例如: std::string s1 = "string"; std::string *p = &s1 ...
- myBatis参数处理 myBatis佟刚课程笔记
单个参数:myBatis不会做特殊处理 #{参数名}: 取出参数值 多个参数: myBatis会做特殊处理 多个参数会被封装成一个MAP key:param1 param2.... param10,或 ...
- Spring Data Redis入门示例:字符串操作(六)
Spring Data Redis对字符串的操作,封装在了ValueOperations和BoundValueOperations中,在集成好了SPD之后,在需要的地方引入: // 注入模板操作实例 ...
- 如何用纯 CSS 绘制一颗闪闪发光的璀璨钻石
效果预览 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. 在线演示 https://codepen.io/zhang-ou/pen/qYqwQp 可交互视频教程 此视 ...
- day16-python之函数式编程匿名函数
1.复习 #!/usr/bin/env python # -*- coding:utf-8 -*- name = 'alex' #name=‘lhf’ def change_name(): name= ...