• 调用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;}
    
    努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
  • 相关阅读:
    FTP解决办法:服务器发回了不可路由的地址。使用服务器地址代替。
    隐藏显示终端的光标(shell echo,linux c printf)
    FTP服务2种工作方式详解,PORT方式和PASV方式,(即主动模式和被动模式)
    XP使用VNC远程桌面CentOS 6(原创,备忘)
    LINUX命令行技巧
    FTP服务器(vsftpd)配置随笔
    更快、更强 64位编程的三十二条军规
    MFC 程序入口和执行流程
    css实现居中
    treeview控件显示指定目录下的目录和文件
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15086802.html
Copyright © 2020-2023  润新知