IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java全栈系列之JavaSE-面向对象(一)030 -> 正文阅读

[Java知识库]java全栈系列之JavaSE-面向对象(一)030

java面向对象编程

面向对象&面向过程

前言: 之前的代码大多数都是属于面向过程的,在程序中有main()方法也叫主方法,程序会由上至下执行main()里面的内容。程序里的方法;例如编写一个计算器的程序,基本的运算需要用到加减乘除四则运算,我们可以把加法做成一个方法,减法做成一个方法,在使用的时候依次在main()方法中调用使用。属性加方法等于一个类

面向过程的思想:

面向过程适合一些较为简单的问题,面向过程步骤清晰简单,第一步做什么…第二步做什么…

面向对象思想:

面向对象适合处理复杂的问题,以分类的思维方式,适合处理需要多人协作的问题。对于描述复杂的食物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统,但是具体到微观的操作,仍然需要面向过程的思路来处理,面向对象是建立在面向过程之上的

面向对象编程的本质是: 以类的形式组织代码,以对象的组织封装数据

抽象

面向对象三大基本特性:

  1. 封装 将数据封装起来,禁止所有人去操作数据提高了数据的安全性
  2. 继承 子类可以继承父类的所有属性和方法,例如:A->B,A类继承B类则A类拥有B类的所有数据
  3. 多态 一个事物有多个不同的形态

对象与类

从认识的角度考虑是先有对象后有类,对象是具体的事物,类是抽象的,是对对象的抽象

从代码运行角度来考虑是先有类后又对象,类是对象的模板

比如:学生就是一个抽象类,而许志滨是一个具体的人

方法的定义

基本的类与方法:

//修饰符class定义类
public class Demo01 {
//public(公共的) class(类)
	//类中有一个核心的main()方法
    public static void main(String[] args) {
        
    }
    
}

定义方法:

public String Print(String Str){
    //修饰符 返回值类型 方法名(参数)
	return str	//返回值和返回值类型是对应的
}
public void Print(){	//当没有返回值时返回值类型为void
    return;				//返回值可以为空或不写
}
    public int Max(int a,int b){
        return a>b ? a:b;
    }

break与return的区别

break在switch中有终止判断和跳出循环的作用。
return是方法结束语句

在return后添加语句不被执行

public class Demo01 {
    public static void main(String[] args) {
        System.out.println("return前");
        return;
        System.out.println("return后");
    }

}

执行直接报错

java: 无法访问的语句

方法名

方法明名注意规范(驼峰命名法),最好见名知意。

参数列表
(参数类型 参数名),可以有多个参数和可变参数

方法调用

方法分为静态方法(定义方法时加修饰符static)和非静态方法(定义方法时没有加static)

静态方法调用:

    public static String Print(){			//加static静态方法
					
    }

静态方法可以直接通过方法名进行调用

    public static void main(String[] args) {
        Print("1");
    }

在Demo01.java创建name类并加修饰符static声明静态方法

    public static  String name(String name){
        return name;
    }

在Demo02.java文件中使用类名.方法名()进行调用

Demo01.name("小滨");

非静态方法:

    public int Int(int i){				//不加static非静态方法
        return i;
    }

非静态方法需使用New关键字进行实例化对象

    public static void main(String[] args) {
        Demo02 D=new Demo02();
        D.Int(1);
    }

在Demo01.java中定义age非静态方法

    public int age(int age){
        return age;
    }

Demo02.java进行调用

        Demo01 Demo01=new Demo01();
        Demo01.age(19);

java中的值传递

public class Demo03 {
    public static void main(String[] args) {
        int i=99;		//定义i的初始值为99
        System.out.println(i);	//输出i的值
        Demo03 D=new Demo03();//创建实例化对象
        D.change(i);	//调用change()方法并传参i
        System.out.println(i);//输出i
    }
    public void change(int i){	//创建方法change(),形式参数i
        i=100;//定义i的值为100
        System.out.println(i);//输出i的值为100
    }
}

第一个输出的99为在main()方法里面定义的i值为99后输出的,第二个值100是调用change()方法输出的,虽然change()方法中的i的值为100但是,change()方法里的i和main()方法里面i是不一样的,调用change()方法输出i的值,第三个99为调用后输出的值

执行结果:

99
100
99

java中的引用传递

package Test_Demo2;
public class Demo04 {
    public static void main(String[] args) {
        Perosn perosn =new Perosn();
        Demo04.change(perosn);
    }
public static void change(Perosn perosn){
        perosn.name="许志滨";
}
}
class Perosn{
    String name;
}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 11:01:36  更:2021-08-03 11:03:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 16:42:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码