参照:https://www.cnblogs.com/ZXF6/p/11530009.html

类和对象

/**
* java 中的类和对象
*
* 一、局部变量的作用域。
*
* 二、面向对象的概述
* 但是在面向对象设计之前,广泛采用的是面向过程,面向过程只是针对于自己来解决问题。
* 面向过程的操作是以程序的基本功能实现为主,实现之后就完成了,也不考虑修改的可能性。
*
* 面向对象,更多的是要进行子模块化的设计,每一个模块都需要单独存在,并且可以被重复利用,
* 所以,面向对象的开发更像是一个具备标准的开发模式。
*
* 可维护性 需求分析
*
* 2. 在面向对象定义之中,也规定了一些基本的特征:
抽象。
* (1)封装:保护内部的操作不被破坏;
* (2)继承:在原本的基础之上继续进行扩充;
* (3)多态:在一个指定的范围之内进行概念的转换。
*
* 3. 面向对象的开发?
* 对于面向对象的开发来讲也分为三个过程:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。
*
* 4.类与对象是整个面向对象中最基础的组成单元。
*
* 5.对象是将来用于存储数据(实体类)
*
* 三、类中的函数?
* 无参数无返回值的函数
*
A 函数的定义
【权限修饰符】 void 函数名(){ }
static void hah(){} 四、类
类是对象的模板,对象是类的实例?
类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。 定义一个 people 类
他的属性有 age sex tall weight ... int age ;
string sex;
double tall;
double weight; 新建一个测试类
JavaTest 创建对象。
people p = new people();
赋值。
p.age = 15;
p.sex = "男";
... 1
*/
public class JavaObject {
public static void main(String[] args) { int b3=456;
} /**
* 局部变量 :定义到函数内部的变量 称之为 局部变量
* 局部变量的作用域:局部变量的使用范围
* 从变量定义开始 到所在的结束大括号
* 在同一作用域内 不能重复定义变量
*/
@Test
public void juBu(){
int a = 10;
if (a>5){
int b = 20;
System.out.println("b====="+b);
System.out.println(a);
} int b2 =30;
System.out.println("b2===="+b2); } /**
* 无参数无返回值的函数
* 1.权限修饰符
* 2.返回值类型
* 3.方法名 函数名 小驼峰的命名方式。。
* (): 参数列表
* {}: 函数体
*/
public void haha(){ } /**
函数的调用?
1. 非静态 对象名.函数名
Test01 test01 = new Test01();
test01.haha();
2.
*/ }

函数

/**
* 一、java中的函数?
*
* 1.【修饰符】 返回值类型 函数名(参数类型 参数名,参数类型 参数名,........) {
* 函数体
* }
*
* 2. 无参数无返回值的函数
* 定义: 【修饰符】 void 函数名() {
* 函数体
* }
*
* 为什么需要函数:函数能实现某些功能
* 函数的调用(非static) : 1 创建对象
* 2 对象名.函数名();
*
*
* 3. 有参数 无返回值的函数
* 定义: 【修饰符】 void 函数名(参数类型 参数名,参数类型 参数名,........){
* 函数体/方法体
* }
     参数和返回值 都是 数据传递的一种方式。。。
*
* 二 、java中的重载?
*
* 三、 构造函数?
* 1. 在一个类中 默认会生成一个公共无参数的构造函数(也就是说 你不写 默认会帮你加上)
*
* 2. 我们一旦自己写了构造函数 那么公共无参数的构造函数就不会自动生成了
* 所以 我们一旦添加公共有参数的构造函数 一定要确保无参数构造函数的存在
* (OCJP)
*
*
* */
public class JavaFunction { public static void main(String[] args) {
/*
函数的参数和返回值的使用 取决于实际需求。 */
int hah = add(45, 55);
System.out.println(hah); // Haha() 构造函数。
Haha haha = new Haha();
} /**
* 构造函数
*/
static class Haha{
public static void main(String[] args) {
int age ;
String name; } //自己写了构造函数 那么公共无参数的构造函数就不会自动生成了
public Haha(){ } // 自己写构造函数的作用(通过构造函数传参)
public Haha(int age,String name){
System.out.println("创建带参的构造函数 , 需要手动添加空的构造函数");
}
} /**
*1. 无参数无返回值的函数
*/ public void haha(){
System.out.println(66);
} /**
* 2.有参数 无返回值的函数
*/ static void add(int a, int b){ // 有返回值的方法 return 的内容 要和返回值类型匹配
int result = a+b; // 以 return 语句执行后的代码不执行)
} /**
* 3.有返回值没有参数
*/
int jian(){ // 函数体。
return 0;
} /**
  有参数有返回值的方法
  
*/   double getDifference(int a, int b){
      double result = a - b;
      return result;
} /**
* 在同一类中,函数名相同,参数列表(参数的个数,参数的类型,类型的顺序)不同 此时就是函数的重载
*/
int add(int a){
return a;
} /**
* 重载和 方法的返回值类型没有关系 只和参数列表有关
* 两个 add 返回值类型不同
* 报错 :已经在类中定义了add 方法
*
*
* @return
*/
int add(){
return 0;
} /**
* 假设 编译不报错 请问,你在主函数中调用 add 方法
* 问题来了 你调用的是 int ,还是 void?
* 所以 Java中 不能根据返回值类型进行重载。
*/
void add(){ }
}

Java 基础02的更多相关文章

  1. java基础-02数据类型

    基本类型 整数 byte byte 数据类型是8位.有符号的,以二进制补码表示的整数 最小值是 -128(-2^7) 最大值是 127(2^7-1) 默认值是 0 byte 类型用在大型数组中节约空间 ...

  2. Java基础02 方法与数据成员

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在Java基础01 从HelloWorld到面向对象,我们初步了解了对象(obje ...

  3. 二、Java基础--02

    作为本人首篇黑马技术博客有必要交代一下背景.个人理解博客的用作在于于己在于交流,于他在于学习,在交流学习中共同成长.下面进入正题.本文主要是介绍在做黑马入门测试时的一些问题(这个应该不是泄露题库吧). ...

  4. java基础02

    使用 myeclipse写第一个java程序 之后  右键 点击 src  创建 Class /** * package:包的声明! * 代表我们当前的java源文件在项目中的位置! * 必须位于除了 ...

  5. java基础02 数据类型转

    一.回答问题 float f1 = 6.66f; float f2 = (float) 6.67; f1==f2? /** * * @author sun * */ public class Demo ...

  6. Java基础02 方法与数据成员(转载)

    对象中的数据成员表示对象的状态.对象可以执行方法,表示特定的动作. 此外,我们还了解了类(class).同一类的对象属于相同的类型(type).我们可以定义类,并使用该定义来产生对象.   调用同一对 ...

  7. java 基础 02 数据类型、运算符、分支结构

    内容: (1)数据类型 (2)运算符 (3)分支结构 1.数据类型 java语言中的基本数据类型:byte.short.int.long.float.double.boolean.char. 1.1布 ...

  8. java基础-02:编译型和解释型

    Java程序运行机制: Java语言的编译-->解释-->运行过程 1.编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的 ...

  9. Java基础——02

    今日学习 Java API Scanner package cn.lsl.day03.demo01; //导包 import java.util.Scanner; public class demo0 ...

随机推荐

  1. 【LeetCode】784. Letter Case Permutation 解题报告 (Python&C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 回溯法 循环 日期 题目地址:https://leet ...

  2. 【LeetCode】525. Contiguous Array 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 累积和 日期 题目地址:https://leetco ...

  3. 【LeetCode】611. Valid Triangle Number 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/valid-tri ...

  4. 【LeetCode】503. Next Greater Element II 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 暴力解法 单调递减栈 日期 题目地址:https:/ ...

  5. Sum of Consecutive Integers

    Sum of Consecutive Integers 题目链接 题意 问N能够分解成多少种不同的连续数的和. 思路 连续数是一个等差数列:$$ \frac{(2a1 + n -1)n}{2} = T ...

  6. 【LeetCode】385. Mini Parser 解题报告(Python)

    [LeetCode]385. Mini Parser 解题报告(Python) 标签: LeetCode 题目地址:https://leetcode.com/problems/mini-parser/ ...

  7. 5G的到来

    通信改变未来,从古至今信息的传输和获取从来就没有缺少过,之所以谁能取得胜利就是谁掌握的资源多,其中信息资源尤为重要,只要获取到更多的信息你就能提前做出应对策略.因此未来一定是信息的未来,作为信息传输的 ...

  8. MySQL数据操作与查询笔记 • 【第7章 连接查询】

    全部章节   >>>> 本章目录 7.1 内连接查询 7.1.1 交叉连接(笛卡尔积) 7.1.2 内连接查询概要 7.1.3 内连接案例 7.1.4 自然连接 7.2 多表连 ...

  9. rocksdb代码解析-db.h

    总 这篇是对rocksdb整体功能的分析,主要着眼点是db.h文件,对rocksdb进行代码解析,若想以整体的方式了解其功能,首先就应该解析db.h文件.对于rocksdb的db.h文件来说,且不论前 ...

  10. Red Scarf abc171_E

    题目大意 除去一个元素后的异或和 题目分析 首先异或有交换律 \(a \ \mathrm{xor} \ a=0\) \(0 \ \mathrm{xor} \ a=a\) 可以求出异或和,在异或当前元素 ...