参照: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】Pascal's Triangle II 解题报告

    [LeetCode]Pascal's Triangle II 解题报告 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/problems/pascals-tr ...

  2. 【LeetCode】649. Dota2 Senate 解题报告(Python)

    [LeetCode]649. Dota2 Senate 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地 ...

  3. 【LeetCode】809. Expressive Words 解题报告(Python)

    [LeetCode]809. Expressive Words 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http ...

  4. 面渣逆袭:JVM经典五十问,这下面试稳了!

    大家好,我是老三,"面渣逆袭"系列继续,这节我们来搞定JVM.说真的,JVM调优什么的一个程序员可能整个职业生涯都碰不到两次,但是,一旦用到的时候,那就是救命了,而且最重要的是-- ...

  5. Estimation of Non-Normalized Statistical Models by Score Matching

    目录 概 主要内容 方法 损失函数的转换 一个例子 Hyv"{a}rinen A. Estimation of Non-Normalized Statistical Models by Sc ...

  6. c++定时器执行任务

    // // Created by leoxae on 19-9-2. // #ifndef KEEKOAIROBOT_TIMERTASKHELPER_H #define KEEKOAIROBOT_TI ...

  7. MySQL数据库基础(3)DDL和DML

    一.使用DDL定义数据库和表结构 结构化查询语言:(Structured Query Language,SQL)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,专用于存取数据以及查询.更新和 ...

  8. Ranger-Sqoop2插件实现详解

    1.组件和插件介绍 1.1.Ranger介绍 Apache Ranger能够监控和管理整个Hadoop平台的综合数据安全, 目前作为Apache Top Level Project(TLP顶级项目), ...

  9. Docker基本命令入门

    本文介绍Docker基本的操作命令,包括对镜像容器的获取,查看,保存,启停等操作. 1. 检查docker的版本: docker version docker -v 2. 搜索名字叫做tutorial ...

  10. Ubuntu安装Jenkins是报错:The following signatures couldn't be verified because the public key is not available: NO_PUBKEY XXXXXXXXXXX

    我使用Ubuntu16.04安装Jenkins时,按照官网的要求,步骤如下(https://pkg.jenkins.io/debian-stable/): # 添加Key sudo wget -q - ...