前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第十一节:讲述类的继承,数据库,文件的读写,图形绘制

第十一节:讲述类的继承,数据库,文件的读写,图形绘制

作者头像
达达前端
发布2019-07-03 11:17:20
4400
发布2019-07-03 11:17:20
举报
文章被收录于专栏:达达前端

前言

大家好,我是 Vic,今天给大家带来第十一节:讲述类的继承,数据库,文件的读写,图形绘制的概述,希望你们喜欢

类的继承

  • 类的继承
  • 类的多态性
  • final的使用
  • 对象类型的转换

示意图

类的继承

格式:

代码语言:javascript
复制
[类修饰符] class 子类名 extends 父类名{  ... ...}

如:

代码语言:javascript
复制
class Student extends People{  ... ...}

类的继承:Object->People->Student

Java中的类只支持单继承,不支持多继承。

类成员的继承: 对于继承:一个类中有成员变量和方法。 子类继承父类,可以有部分继承它的父类,也可以自己定义。

子类能继承public和protected的成员变量,不能继承private的成员变量,可以继承同包中的默认修饰符。

同理,子类继承父类的方法,能够继承public和protedted的方法,不能继承private的方法,不能继承构造方法。

成员变量的隐藏:

什么是成员变量的隐藏:

就是子类定义的成员变量与继承父类的成员变量同名时,我们就说子类隐藏了父类的成员变量。

那么,如果访问对象就是子类重新定义的成员变量,子类方法访问的也是子类重新定义的成员变量。

方法的重写

方法的重写就是:子类定义的方法和父类中的方法全一样时,就是可以说子类重写了从父类继承的方法。

从名字,返回类型,和参数个数以及类型都完全相同。重写时,不可以降低方法的访问权限。

super

关键字super,如果子类想使用父类的构造的方法,那么可以使用super的关键字,默认是由super();调用父类不带参数的构造方法。

代码语言:javascript
复制
如:super.x、super.f()

调用父类的变量和方法。

类的多态性

什么是多态性?

多态性:同名的多个方法产生不同的行为。

表现形式:重载与重写。

关键字final

对于final,可以修饰类,成员变量,成员方法。

  • 修饰类,该类不能被继承
  • 修饰成员变量,给变量为常理,常理必须被赋值,不能再次被赋值
  • 如果修饰带有参数的方法,那么该参数不能被改变

如果一个类或方法被final修饰,那么该类不能被继承,不能被重写

Java的数据库

在Java中有Java.sql,用于提供执行数据库结构化查询语句。程序可以跨平台,可以连接不同的数据库系统。

SQL语句

关系型数据库是由多个表组成。 表是主要的操作的对象。 各表之间具有关联性。

属性值,字段,记录

SQL

代码语言:javascript
复制
insert into student values("077555","vic","1444.2.2","男");
代码语言:javascript
复制
select...from...where...
update student set...where...
代码语言:javascript
复制
//class
Class.forName("com.mysql.jdb.Student");
getConnection( )创建与数据库的连接对象;
//DriverManager
用户程序和数据库系统之间维护着
数据库与驱动程序之间的连接

文件的读写

  1. FileInputStream
  2. FileOutputStream

  1. FileReader
  2. FileWriter
  3. BufferedReader
  4. BufferedWriter

Reader类和Writer类的层次结构

Reader-BufferedReader-LineNumberReader -CharArrayReader-FilterReader-InputStreamReader-FileReader -PipedReader-StringReader

Writer-BufferedWriter-CharArrayWriter-FilterReader-OutputStreamReader-FileWriter-PipedWriter-StringWriter-PrintWriter

FileWriter可以在已有文件后追加内容

代码语言:javascript
复制
class Demo{
 public static void main(String args[]){
  FileInputStream fis = null;
  try{
   fis = new FileInputStream("e:/read.txt");
   byte[] buffer = new byte[100];
   fis.read(buffer,0,buffer.length);
   for(int i = 0;i<buffer.length;i++){
    System.out.println(buffer[i]);
  }
  }catch(Exception e){
    System.out.println(e);
  }
 }
}

FileInputStream和FileOutputStream

代码语言:javascript
复制
class Test{
public static void main(String args[]){
 FileInputStream fis = null;
 FileOutputStream fos = null;
 
 try{
  fis = new FileInputStream("e:/read.txt"):
  fos = new FileOutputStream("e:/write.txt");
 
  byte[] buffer = new byte[100];
  int temp = fis.read(buffer,0,buffer.length);
  fos.write(buffer,0,temp);
 
  //String s = new String(buffer);
  //s = s.trim();
  //System.out.println(s);
 }
 catch(Exception e){
  System.out.println(e);
 }
}
}

优化:

代码语言:javascript
复制
class Demo{
 public static void main(String args[]){
  FileInputStream fis=null;
  FileOutputStream fos=null;
  try{
   fis=new FileInputStream("e:/read.txt");
   fos=new FileOutStream("e:/write.txt");
   byte[] buffer=new byte[1024];
   while(true){
    int temp=fis.read(buffer,buffer.length);
    if(temp==-1){
     break;
    }
    fos.write(buffer,0,temp);
   }
   }catch(Exception e){
    System.out.println(e);
  }
  finally{
   try{
    fis.close();
    fos.close();
 }
  catch(Exception e){
   System.out.println(e);
  }
  }
 }
}

Reader <-- FileReader int read(char[] c,int off,int len) Writer <-- FileWriter void write(char[] c,int off,int len)

代码语言:javascript
复制
public class TestChar{
public static void main(String args[]){
 FileReader fr = null;
 FileWriter fw = null;
 try{
  fr = new FileReader("e:/read.txt");
  fw = new FileWriter("e:/write.txt");
  
  char[] buffer=new char[100];
  int temp = fr.read(buffer,0,buffer.length);
  fw.write(buffer,0,temp);
  }
  catch(Exception e){
   System.out.println(e);
  }
  finally{
   try{
   }
   catch(Excepiton e){
    System.out.println(e); 
   }
  }
}

FileReader 和 BufferedReader

BufferedReader属于字符流,输入流,然后呢?它又是处理流 BufferedReader全称字符输入处理流

代码语言:javascript
复制
class Test{
public static void main(String args[]){
 FileReader fileReader = null;
 BufferReader bufferReader = null;
 try{ 
  fileReader = new FileReader("e:/read.txt");
  bufferedReader = new BufferedReader(fileReader);
  String line = null;
  while(true){
   line = bufferedReader.readLine();
   if(line == null){
    break;
   }
   System.out.println(line); 
  }
 
  //String line = bufferedReader.readLine();
  //System.out.println(line);
  }
  catch(Exception e){
   System.out.println(e);
   }
   finally{
    try{
     bufferedReader.close(); 
     fileReader.close();
    }
    catch(Exception e){
     System.out.println(e);
    }
   }
  }
}

图形绘制

  1. 窗口中图形的绘制
  2. 鼠标事件
  3. 键盘事件

绘制组件public void paint(Graphics g)

更新组件public void update(Graphics g)

重绘组件public void repaint()

鼠标事件

代码语言:javascript
复制
mouseClicked();
mouseEntered();
mouseExited();
mousePressed();
mouseReleased();

键盘事件

代码语言:javascript
复制
keyPressed();
keyReleased();
keyTyped();

如果觉得不错,那就点个赞吧!❤️

总结

  • 本文讲了第十一节:讲述类的继承,数据库,文件的读写,图形绘制,如果您还有更好地理解,欢迎沟通
  • 定位:分享 Android&Java知识点,有兴趣可以继续关注
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.04.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 类的继承
      • 成员变量的隐藏:
        • super
          • 类的多态性
            • 关键字final
              • Java的数据库
            • SQL
              • 文件的读写
                • Reader类和Writer类的层次结构
                  • FileInputStream和FileOutputStream
                    • 优化:
                      • FileReader 和 BufferedReader
                        • 图形绘制
                          • 鼠标事件
                            • 键盘事件
                              • 总结
                              相关产品与服务
                              数据库
                              云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档