• 调用java中的类


    1.Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。
    加了static就是静态类了
    2.调用非静态方法:没有使用static修饰符修饰的方法,就是非静态方法,调用这种方法的时候是一定要使用对象的。因为非静态方法是属于对象的。
    非静态属性也一样
    3.在一个类中,静态方法之间可以相互调用,非静态方法之间也可以相互调用,非静态方法可以调用静态方法,静态方法不能调用非静态方法
    4.java中调用非静态方法要先把类赋值给对象,没有定义类的话就把当前创建java函数文件名当作类,赋值方法是:类名 变量名=new 类名()
    5.调用静态方法直接类名加方法()
    6.值传参和引用传参

    调用方法进行传参时,分为值传递和引用传递两种。
    如果参数的类型是基本数据类型,那么就是值传递。
    如果参数的类型是引用数据类型,那么就是引用传递。
    值传递是实参把自己变量本身存的简单数值赋值给形参.
    引用传递是实参把自己变量本身存的对象内存地址值赋值给形参.
    所以值传递和引用传递本质上是一回事,只不过传递的东西的意义不同而已.
    
    

    7.this关键字
    在类中,this关键字可以起到一些特殊作用
    【区别成员变量和局部变量】 //其实这个不太理解
    【调用类中的其他方法】 //这个也可以说明this在类中表示当前类将来创建出的对象.
    【调用类中的其他构造器】

    import java.io.IOException;
    
    public class object_oriented { //非静态类
        /*Java中,类中的静态方法不能直接调用动态方法。
        只有将某个内部类修饰为静态类,
        然后才能够在静态类中调用该类的成员变量与成员方法。
        加了static就是静态类了 */
        public static void main(String[] args) {
            //从代码运行角度考虑是先有类后又对象
            // 类是对象的模板
    
    
            //调用非静态方法:没有使用static修饰符修饰的方法,就是非静态方法
            // 调用这种方法的时候是一定要使用对象的。因为非静态方法是属于对象的。
            // 非静态属性也一样
            Student m = new Student();
            m.print("java中调用非静态方法要先把类赋值给对象,没有定义类的话就把当前创建java函数文件名当作类,赋值方法是:类名 变量名=new 类名()");
            // 调用静态方法直接类名加方法()
            int a11 = Student.max(4, 2);
            System.out.println("调用静态方法直接类名加方法()"+a11);
    
            //值传参
            int a = 1;
            System.out.println("before: a = "+a); //1
            Student.changeNum(a);
            System.out.println("after: a = "+a); //1
    
    
            //引用传递
            Student1 s = new Student1(); //非静态类之间的调用,可直接用类名调用外部的类
            System.out.println("before: name = "+s.name); //null
            changeName(s);
            System.out.println("after: name = "+s.name); //tom
    
        }
        public static void changeName(Student1 s){ //下面也有个和changeName一样的函数
            s.name = "tom";
            }        
    
        // this在类中的作用
        
    
        public static class Student{  //加了static静态类
            private String name;
            public void setName(String name){
            //this.name表示类中的属性name
            this.name = name; // 【区别成员变量和局部变量】
            }
    
            public void print1(){
                //表示调用当前类中的setName方法
                this.setName("tom"); //【调用类中的其他方法】
                //默认情况下,setName("tom")和this.setName("tom")的效果是一样的
                }
    
            //下面这2句是java中的构造器
            // 调用类中的其他构造器
            public Student(){
                //调用一个参数的构造器,并且参数的类型是String
                this("tom"); ////并且这局调用的代码只能出现在构造器// 中的第一句.
                } //this的这种用法,只能在构造器中使用.普通的方法是不能用的.
            public Student(String name){
            this.name = name; 
            }
            // this在类中表示当前类将来创建出的对象.
                    
    
            public static int max(int a,int b){ //静态类中可有静态方法,非静态方法
                int c = a>b?a:b;
                System.out.println(c);
                return a>b?a:b;
            }
            public static void changeNum(int a){
                a = 10;
                System.out.println("这个changNum中的值会被外界相同得变量改变么是10么:"+a);
                }
                        
            public String sayHello(){
                return "hello";
                // print("sss");
            }
            public void print(String msg){
                System.out.println(msg);
                sayHello();
                /* 在一个类中,静态方法之间可以相互调用,非静态方法之间也可以相互调用
                非静态方法可以调用静态方法,静态方法不能调用非静态方法 */
            }
            
    
            //异常抛出类型
            // public void readFile(String file)throws IOException{
    
            // } //不能同时使用两个相同的方法
            public void readFile(String file)throws IOException,ClassNotFoundException{}
            }
            
                
    }
    class Student1{
        String name;}
    
    努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
  • 相关阅读:
    sqlISNULL函数(转载)
    sql数据导入导出(转载)
    sqlbcp
    SQL连接方式(左连接、右连接、全连接)转载
    陶哲轩实分析 习题 7.2.6 (嵌套级数)
    陶哲轩实分析 命题7.2.5 证明
    陶哲轩实分析 定义 7.2.1(形式无限级数) 的一点注记
    陶哲轩实分析 推论 7.3.2 (比较判别法) 证明
    陶哲轩实分析 习题 7.2.6 (嵌套级数)
    陶哲轩实分析 命题 7.2.14 (极限算律) 证明
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15086802.html
Copyright © 2020-2023  润新知