java之路,基础知识4

简介: 包:管理众多的类,使用package语句,包应该对应着文件系统的目录结构,在package语句中用.来表示目录的层次结构,package语句必须是第一条语句 package cn.

包:管理众多的类,使用package语句,包应该对应着文件系统的目录结构,在package语句中用.来表示目录的层次结构,package语句必须是第一条语句

package cn.pk
class  test
{
    public static  void main(String[]  args) 
    {}
}
javac -d . test.java  在当前目录下生成包,  javac -d e:\java\code\   test.java  在指定目录下生成包
java cn.pk.test

import   java.io.file   引入/javaio/file类
java中的lang包会自动引入,  同一个包中的类可以直接引用,无需import导入
import  java.io.File
class  test
{
    public static void main(String[]  args)
    {
    File f;
    }
}

类的修饰符:public       default(缺省的)只能在同一个包中访问
                  final   最终的类,不能派生子类       abstract  抽象类
方法的修饰符:

      public       protected      default     private
 同  类        √   √   √   √ 
 同  包  √   √   √   
 子 类  √   √     
 通 用  √       
final方法:继承的时候不会被覆盖或者修改,private和static就是final
abstract方法:抽象方法,没有方法体。含有抽象方法的类就必须是抽象类,抽象类不能实例化一个对象。
                    如果一个子类没有实现父类的抽象方法,那么子类就必须是抽象方法

java垃圾回收:
class Garbage
{
 int index;
 static int count;
 Garbage()
 {
  count ++;
  System.out.println("object " + count + " construct");
  setID(count);
 }
 
 void setID(int id)
 {
  index = id; 
 }
 
 protected void finalize()              //垃圾回收器,低优先级,靠gc()函数调用
 {
  System.out.println("object " + index ); 
 }
 public static void main(String[] args)
 {
  new Garbage(); 
  new Garbage();
  new Garbage();
  new Garbage();
  System.gc();                      //运行垃圾回收器
 }
}

接口:模块之间交互,一个类要实现接口中所有的方法,这样才可以实例化。接口中所有的方法都是public abstract,接口允许多继承,这点和类不一样

interface Sport
{
 void run();
 void jump();
}

class Athlete implements Sport
{
 public void run()
 {
  System.out.println("短跑");
 }
 
 public void jump()
 {
  System.out.println("三级跳");
 }
 
 public static void main(String[] args)
 {
  Athlete zh = new Athlete();
  zh.run();
  zh.jump();
 }
}

一个电脑接口的实例
/***************************显卡接口*********************************/
interface VideoCard
{
 void display();
 String getName();
}                 //显卡接口

/****************显卡类***********************************?
class Dmeng implements VideoCard
{
 String name;
 public Dmeng()
 {
  name = "Dmeng card!";
 }
 
 public void setName(String name)
 {
  this.name = name;
 }
 public void display()
 {
  System.out.println("Dmeg is working!");
 }
 
 public String getName()
 {
  return name;
 }
}

/**********************主板类******************************/
class MainBoard
{
 VideoCard vc;
 
 void setVideoCard(VideoCard vc)
 {
  this.vc = vc;
 }
 
 void run()
 {
  System.out.println(vc.getName());
  vc.display();
 }
}

/*************************电脑类***************************/
class Computer
{
 public static void main(String[] args)
 {
  Dmeng d = new Dmeng();
  MainBoard b = new MainBoard();
  
  b.setVideoCard(d);
  b.run();
 }
}

相关文章
|
10天前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
38 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
4月前
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
152 2
|
1月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
4月前
|
安全 Java
|
4月前
|
安全 Java 编译器
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
38 1
|
4月前
|
搜索推荐 算法 Java
【Java基础】 几种简单的算法排序
几种简单的JAVA算法排序
49 4
|
5月前
|
Java 调度 开发者
Java中的多线程编程:基础知识与实践
【5月更文挑战第29天】 在现代软件开发中,多线程编程是一个不可忽视的领域。特别是在Java这种广泛使用的编程语言中,掌握多线程的概念和技术对于开发高效、响应迅速的应用程序至关重要。本文将深入探讨Java多线程的核心概念、实现机制以及常见问题的解决方案。我们将从基础出发,逐步揭示如何通过多线程提升程序性能,并且讨论并发编程中的挑战和解决策略。文章的目的是为开发者提供一个清晰的多线程编程指南,帮助他们在实际项目中有效地应用这些知识。
37 3
|
5月前
|
Java 开发者
Java中的多线程编程:基础知识与实践
【5月更文挑战第26天】 在现代计算机科学中,多线程编程是一个复杂且强大的概念。Java作为一种广泛使用的编程语言,其对多线程的支持使得开发者能够创建出更为复杂、高效和响应迅速的应用程序。本文将深入探讨Java中的多线程编程,从基础概念到实际编程技巧,为读者提供全面的理解和实践指导。
|
5月前
|
监控 IDE Java
Java中的多线程编程:基础知识与实践
【5月更文挑战第30天】 在现代软件开发中,多线程编程是提高应用程序性能和响应能力的关键。特别是在Java这样的多平台、多用途的编程语言中,掌握多线程技术至关重要。本文旨在为读者提供有关Java多线程编程的全面介绍,从基本概念到高级应用技巧,帮助初学者和有经验的开发者理解并有效使用多线程。文章不仅涉及基础理论,还包括代码示例和最佳实践,确保读者能够将知识应用于实际项目中。
|
5月前
|
Java 程序员 调度
Java中的多线程编程:基础知识与实践
【5月更文挑战第28天】 在现代计算机科学中,多线程编程是一个重要的概念,它允许程序同时执行多个任务。在Java中,多线程编程是通过创建并管理线程来实现的。本文将介绍Java中多线程编程的基础知识,包括线程的概念、创建和控制线程的方法,以及线程同步和通信的相关技术。通过阅读本文,读者将对Java中的多线程编程有一个全面的了解,并能在实际编程中应用这些知识。