zoukankan      html  css  js  c++  java
  • 方法的声明和调用

    方法只有声明和调用,方法里只能调用其它方法;方法外,只能声明方法(这和接口里的方法定义还不同,是两件事,接口里的方法没有方法体,但要有形参列表;而方法的调用没有形参列表,是传入实参)。
     
    调用方法时参数顺序不能颠倒。
     
    同一个类里的方法可以直接调用或访问其他方法或属性,包括静态方法或静态属性;
    但静态方法例外,静态方法只能直接调用或访问其他的静态方法或静态属性;
    要想在静态方法中调用非静态方法或非静态属性,可以利用对象调用或访问。
    原因:
    画图分析
    // 本程序没错,可以通过编译
    public class Person {
        private int id;
        private String name;
        private int age;
        
        public static void saiHi(Person _p) {
            _p.id = 7;
            _p.saiHello();
            Person p = new Person();
            p.id = 5;
            p.saiHello();
        }
        public void saiHello() {
            id = 10;
        }
    }
    代码示例


    构造方法不能被继承;
    构造方法不能被static 和fianl修饰。???


    只有静态的成员变量和成员方法;没有静态的局部变量,因为成员变量保存在堆空间,静态的成员变量保存在数据区,局部变量在方法里,在方法区,这三种不同的变量保存在不同的区域,成员变量静态化后,就不在堆空间了,而局部变量如果也可以静态化,也保存在数据区,那么它就属于类了,就变为了静态的成员变量,静态的成员变量普通方法可以直接访问,那还不如直接声明为静态方法;还有既然静态化了,那么这变量就不再属于这个方法了,也意味着别的方法也可以调用它,那么它还本质上还是静态的成员变量。
    public class Test {
        private static int i = 8;
        public static void main(String[] arr) {
            System.out.println(i);
        }
    }
    static 修饰的属性、方法保存在内存中的datasegment。
     
    for循环、switch语句等都必须写在方法里面,必须要用方法包起来。
  • 相关阅读:
    C++ STL之vector详解
    Two Sum
    The Skyline Problem
    C++ 排序函数 sort(),qsort()的用法
    GO语言为结构体排序
    php将数组或字符串写入文件
    [Zabbix] 怎样实现邮件报警通知以及免费短信报警通知
    js 图片轮转
    ios学习之旅------玩转结构体
    You have ettempted to queue to many files.You may select one files.
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/7050907.html
Copyright © 2011-2022 走看看