zoukankan      html  css  js  c++  java
  • JavaSE Day5

    本节内容

     1.类与对象

     2.创建对象

     3.对象的内存剖析

     4.构造方法

     5.方法

    一、类与对象

    俗话说的好万物皆对象。

    这些都是对象

    我们知道Java语言是完全面向对象的语言,也就是说,在Java程序中所有的事物都是对象。

    程序是模拟现实生活,那么把一个一个现实生活中的实体如何描述到程序中,在程序中一个对象就是生活中的一个实体。

    对象:在程序中如何描述一个实体:通过实体的特征与行为来描述这个实体。

    在Java中我们不能直接描述一个实体,那么如何做呢?。。。。。。。。。

    Java中有一个概念:类

    类:类是对对象的一种抽象描述,也就是说,类其实就是定义对象的一个模板,在这个模板里面充分描述了对象所具有的属性和行为(方法)

    也可以说类是一组具有相同属性与行为的对象的抽象。

    对象:通过类具体创建出来的实体,就是对象,这些对象是可以拿来使用的,一个类可以创建出任意个相同的对象(也就是一对多关系)。

    所以在我们编写代码时,先要编写类,通过class来创建对象。

    创建类的关键词:class

    package com.xk;
    /*
     *作者:吴志龙
     *日期:2018年7月25日  
    */
    public class Person {
    
        
        
    }

    类是用来描述实体的。。。。。

    通过什么来描述实体

    属性(特征)(成员变量)

    方法(行为) 

    来描述

    package com.xk;
    /*
     *作者:吴志龙
     *日期:2018年7月25日  
    */
    public class Person {
    
              //属性   
        String name;
        
        int  age;
        
        char sex;
         
        
        
    }

     方法来描述实体的行为

    package com.xk;
    /*
     *作者:吴志龙
     *日期:2018年7月25日  
    */
    public class Person {
       
        String name;
        
        int  age;
        
        char sex;
        //吃的行为
        public void eat(){
            
        }
        //睡觉
        public void sleep(){
            
        }
         
        
        
    }

    二、创建对象:

      使用关键词: new

      

        public static void main(String[] args) {
            //创建对象
            Person person =new Person();
            
        }

    Java是链式编程:

      通过对象可以使用实体的特征与行为

        public static void main(String[] args) {
            //创建对象
            Person person =new Person();
            //调用属性
            System.out.println(person.name);
            //调用方法
            person.eat();
            
        }
        

    三、内存

      Java的内存区域划分:

    1.程序计数器:

    有了它,字节码解释器才可以知道下一条要执行的字节码指令是哪个。

    无论是取下一条指令还是分支、循环、跳转、中断、线程恢复,都需要这个程序计数器。

    Java中多线程运行时每个线程都有一个计数器,计数器不能共享。

    2.栈区:

    存放的是基本数据类型的变量名、以及对象的变量名以及所指向的堆内存的地址。

    3.堆区:

    用于存放Java对象。

    4.方法区:

         1、又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量;

         2、方法区中包含的都是在程序中永远的唯一的元素

    5.本地方法区

      ,很多的算法或者一个功能的实现,都被java封装到了本地方法中,程序直接通过调用本地的方法就行了,本地方法栈就是用来存放这种方法的,实现该功能的代码可能是C也可能是C++,反正不一定就是java实现的。

    四、构造方法

      构造方法:是用来创建对象的。

      构造方法的语法:访问修饰符 方法名(参数){ }

        public Person(){
            
        }

    构造方法要与类名相同,无返回类型,在类初始化的时候调用。

     五、方法

        方法的最大的好处是可以重复使用。

    定义:限制条件:在主类中定义,并且由主方法直接调用的方法形式。

    方法就是一段可以被重复调用的方法块。在Java中要想进行方法的定义,则可以使用如下的语法完成。

    public static 返回类型 方法名称([参数类型 变量, ......]) {
        方法体代码;
        [return [返回值];]
    }

    在定义方法的时候对于方法的返回值有一下的两类:

    • void:没有返回值;

    • 数据类型(基本类型,引用类型)。

       有参有返回值

    public static int add(int x, int y) {   //定义方法
            return x + y;
        }

      有参无返回值

      public static void print(String msg) {  //定义方法
            System.out.print(msg); 
        }

      无参无返回  

        public static void print() {
            System.out.println("Hello   World!"); //定义方法
        }

      无参有返回值 

     

    public  void print(){
    
    return  "你好"
    }

    但是在定义方法的时候有一点特别要注意,如果某一个方法上使用了void定义,那么该方法可以直接用return来结束调用。一般而言,这种return的处理往往需要结合if判断来实现。

    方法的重载:(重点)

      方法重载指的是:方法名称相同,参数的类型和个数不同。

      public static int add(int x, int y) {
            return x + y;
        }
        //此时方法名称相同,参数的个数不同
        public static int add(int x, int y, int z) {
            return x + y + z;
        }
        public static double add(double x, double y) {
            return x + y;
        }

    在进行方法重载的时候有一个重要的原则:要求方法的返回值类型一定要相同。

      

  • 相关阅读:
    C#中使用SendMessage在进程间传递数据的实例
    解决C# WINFORM程序只允许运行一个实例的几种方法详解
    实现WinForm窗体的美化(借助第三方控件)
    sql2008拒绝了对对象 (数据库 ,架构'dbo')的SELECT权限
    在一个SQL Server表中一行的多个列找出最大值
    如何搭建MVC + EF 框架
    灵活运用 SQL SERVER FOR XML PATH
    CentOS7切换到root用户和退回普通用户
    Zuul Read Time out 错误
    neo4j---删除关系和节点
  • 原文地址:https://www.cnblogs.com/wuzhilong/p/9367069.html
Copyright © 2011-2022 走看看