首页 > 其他分享 >2023/7/05

2023/7/05

时间:2023-07-05 18:46:13浏览次数:28  
标签:String 05 void class 2023 println public out

今天主要学习了包和内部类

一个完整的类名是包和类的结合,也就是:包.类的形式。一个包中是可以有多个不同的类的,同一包中的类相互访问时,可以不指定包名。

package 包;

public class Math {
    public static void main(String[] args)
    {
        Math a=new Math();
        //类的命名为:包+类名
        System.out.println("不是java.lang.Math类,而是包.Math类");
        System.out.println(a.getClass().getName());
    }
}

 

当一个包中的类要访问另一个包中的类时,就需要将另一个包导入:

import  包.*;访问导入包中所有的类

import  包.类;导入指定的类

还可以导入类中的静态成员

import 包.类.静态成员;

package 包;

public class Math {
    public static void main(String[] args)
    {
        Math a=new Math();
        //类的命名为:包+类名
        System.out.println("不是java.lang.Math类,而是包.Math类");
        System.out.println(a.getClass().getName());
    }
}
package 导入包;
import 包.*;//导入包中的所有类
import 包.Math;//导入包中的Math类
public class haihaihai {
    public static void main(String[] args)
    {
        Math.main(args);//能使用包中所有的类
    }
}
package 导入包;
import static java.lang.Math.max;//导入静态成员方法
import static java.lang.System.out;//导热油静态成员变量
public class hahaha {
    public static void main(String[] args) {
        out.println("521和1314的较大值为"+max(521,1314));//直接调用静态成员
    }

}

内部类就是类内部的类,它可以访问外部类中的所有私有成员,内部类的实例一定要在外部类的实例上,除非已经出现一个外部类对象,否则类中不会出现外部类对象。

成员内部类对象不止可以在外部类中使用,在其他类中也可以使用。

package 内部类;

public class car {
    private String brand;
    public car(String brand)
    {
        this.brand=brand;
    }
    class engine
    {
        String model;
        public engine(String model)
        {
            this.model=model;
        }
        public void show()
        {
            System.out.println(car.this.brand+this.model+"点火");//内部类可以直接访问外部类的私有数据
            //this在内部类中只能调用内部类的数据,而要调用外部类的数据得使用外部类名.this.的方法
        }
    }
    public void println()
    {
        System.out.println(brand+"创建成功");
    }
    public static void main(String[] args) {
        car a=new car("兰博基尼");
        a.println();
        //engine c=new engine("666");不能在主函数直接实例化
        car.engine b=a.new engine("EA211");
        b.show();
        /*
         * 内部类的实例一定要绑在外部类的实例上,不能单独存在
         * 创建内部类的方法得和外部类组合
         * 外部类 a=new 外部类();
         * 外部类.内部类 b=a.new 内部类();
         */
    }

}

最后时匿名内部类,这是一种没有类名的类,在类对象引用生成时定义,本质就像是抽象类的子类

package 正规军;
import static java.lang.System.out;
abstract class Dog
{
    String color;
    public abstract void move();
    public abstract void call();
}
public class hahah {
    public static void main(String[] args)
    {
        //Dog hello=new Dog();直接这样是会报错的,之前提到抽象类不能创建对象
        Dog hello=new Dog()//Dog抽象类的实现类没有类的名称,只有一个对象名,有点像Dog一个子类
                //匿名类不能写构造方法,不能定义静态的成员,没有对象的引用的话用完一次会被立刻销毁
        {
            public void move() {
                out.println("飞");
            }
            public void call()
            {
                out.println("焯");
            }
        };
        out.println(hello.getClass());//是一个 外部类名$序号.class 文件
        hello.color="五彩斑斓的黑";
        out.println(hello.color);
        hello.move();
        hello.call();
    }
}

最后是一些习题

package 内部类;
interface Moveable
{
    void run();
}
public class dog {
    public static void main(String[] args)
    {
        Moveable a=new Moveable()
                {
                    public void run()
                    {
                        System.out.println("小狗向前跑");
                    }
                };
                a.run();
    }
}
package 内部类;
abstract class fruit
{    
    
    abstract String getname();
}
public class human {
    String fruit;
    public human(String fruit)
    {
        this.fruit=fruit;
    }
    public static void main(String[] args)
    {
        human b=new human("苹果和香蕉");
        fruit a=new fruit()
                {
                    String getname()
                    {
                        return b.fruit ;
                    }
                };
        b.eat(a);
    }
    public void eat(fruit a)
    {
        System.out.println(a.getname());
    }
}
package 内部类;

public class people {
    class heart{
        public void show()
        {
        System.out.println("心脏执行");
        }
    }
    public void start()
    {
        System.out.println("人执行");
        heart a=new heart();//内部类可以在外部非静态方法类中直接实例化
        a.show();
    }
    public static void main(String args[])
    {
        people a=new people();
        a.start();
    }
}
package 内部类;
abstract class Animal
{
    public abstract void eat();
}
public class 吃 {

    public static void main(String[] args) {
        Animal a=new Animal() {
            public void eat()
            {
                System.out.println("猫吃鱼,狗吃肉");
            }
        };
        a.eat();
    }

}

 

标签:String,05,void,class,2023,println,public,out
From: https://www.cnblogs.com/zhenaifen/p/17529532.html

相关文章

  • 2023情人节正经性生活调研报告
    本报告共包含如下三大篇章:1、直奔主题前,什么是TA眼里的性吸引力?2、鱼水之欢时,TA和你的体验差异有多大?3、酣畅淋漓后,TA如何对待不和谐插曲?本报告已收录到小程序省时查报告中,大家可以到省时查报告小程序中查看并下载文档全文。......
  • 2023,程序员的出路在哪里?
    哪些工作会被AI取代?ChatGPT和专家们给出了相似答案根据世界经济论坛的《 2020年未来工作报告》,预计到2025年人工智能将在全球范围内取代8500万个工作岗位未来10年,可能被人工智能取代的一些工作包括电话推销员、簿记员、薪酬和福利经理、接待员、快递员、工厂工人、投资分析......
  • 行业追踪,2023-07-05,涨多了就调整很正常,小金属受管制影响逆市走强
    自动复盘2023-07-05成交额超过100亿排名靠前,macd柱由绿转红成交量要大于均线有必要给每个行业加一个上级的归类,这样更能体现主流方向rps有时候比较滞后,但不少是欲杨先抑,应该持续跟踪,等macd反转时参与一线红:第一次买点出现后往往是顶峰,等回调,macd反转,rps50还一直红......
  • 2023.7.5
    学习java中的类面向对象与面向过程面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象:强调具备了功能的对象,以类/对象为最小单位类与对象的关系类:对一类事物的描述,是抽象的、概念上的定义对象:是实际存在的该类事物的每个个体,因而也称为实例(instance)面向对象......
  • 第十一届地质资源管理与可持续发展国际学术会议(GRMSD2023)
    第十一届地质资源管理与可持续发展学术会议(GRMSD2023)将于2023年12月17-18日在中国北京召开。 主要目标是促进地质学、资源勘探和开发方面的研究和开发活动,我们诚挚地邀请您出席会议,分享地质、资源勘探开发及相关领域的观点和经验。所有被接受的论文将被EICompendex和Scopus检索......
  • WPS Office 2023 Beta 内测版本全新体验。
    此次要给大家安利的是WPSOffice2023年最新测试版,2023夏季更新,样式大变样,有在使用WPS的网友可用更新体验一波。  内测版本下载地址 WPSOffice2023Beta全新视觉全新的版本中设计目标是为用户创造一个沉浸式的良好办公体验,让用户能够在WPS中便捷与轻松实现自己......
  • 2023/7/5学习日记 树部分
    学习树剖,树上差分,树剖LCA一.P3038[USACO11DEC]GrassPlantingG树链剖分点权转边权#include<cstdio>#include<algorithm>#include<iostream>#pragmaGCCoptimize(1)#pragmaGCCoptimize(2)#pragmaGCCoptimize(3)#definelsonpos<<1#definersonpos<......
  • 2023年6月17号英语四六级考试倒计时,这些考前准备事项一定要注意
    2023年6月全国大学英语四六级考试将于6月17日(本周六)举行,冰雪为大家总结了四六级考前及考中注意事项,供同学们参考!考试时间四级考试时间:6月17日上午9:00-11:20六级考试时间:6月17日下午15:00-17:25考前一天复习准备:记得多看错题,建议四级考生考前一天刷一套真题,六级考生考试当天早......
  • 2023-03-01-what r u thinkin
    thesetoftricks.13671135581二项式反演\[\begin{aligned}f(n)=\sum_{i=n}^m\dbinom{i}{n}g(i)\\\rightarrowg(n)=\sum_{i=n}^m(−1)^{i-n}\dbinom{i}{n}f(i)\end{aligned}\]欧拉反演\[\begin{aligned}\sum_{d|n}\varphi(d)=n\\\righ......
  • 2023-06-04-Generating-Function-Editor
    You'regrowingdesperatefromthefight.基本策略已知系数的幂级数首先是一些可以通过整体法得到封闭形式的幂级数,所谓整体法,即是通过将幂级数位移,用自己表示自己然后做差。\[\begin{aligned}\left\langle1,1,1,1,1,\dots\right\rangle&\rightarrow\frac{1}{1......