0:java流:   流是具有方向的   在文件操作中java流分为字节流:Filereader和Filewriter字符流:FileOutputStream,FileInputSream   例如在文件存储操作中:

pulic void save(){
String data="data to save";
FileOutputSream out=null;
BufferedWriter writer=null;
try{
out=openFileOutPut ("data_name",Context.MODE_PRIVATE);
writer=new BufferedWriter(new OutputStream(out));
writer.write(data);
}catch(IOException e){//平时使用的是Exceotion e
e.printStackTrace();
}finally{
try{
if(writer!=null){
writer.close();
}
}catch(IOException e){
e.printStackTrace();}
}}

1:Java中,类不实例化是可以调用方法的,这种方法叫做静态方法,也叫做类方法。静态变量

  类的静态方法不属于类的对象,而属于类本身,在该类首次使用的时候加载到系统的方法区中,一般  可以使用类名直接调用类的静态方法,而不需要实例化对象。由于  静态方法并不属于对象,因此在静态方法中无法操作类的普通成员变量,只能操作类的静态成员变量。  (因为普通成员变量依附于类的对象存在,而类的静态方法并不属于类对象,在类对象被实例化之前  静态方法就已经存在,故在静态方法中操作普通成员变量,相当于在无对象的情况下对其中的成员变  量进行操作,这是无意义的,同时也不符合面向对象的思想。)     在静态方法中可以操作类的静态属性,而静态属性是类的属性,可以作为一次程序运行期间的全局变  量来使用,因此静态方法的主要作用就是对类中静态属性的  初始化或者根据静态属性实现一定的业务逻辑。

2:关于深拷贝和浅拷贝的运用 (创建实例对象)

  浅克隆,通常只是对克隆的实例进行复制,但里面的其他子对象,都是共用的。:   深克隆,克隆的时候会复制它的子对象的引用,里面所有的变量和子对象都是又额外拷贝了一份。  克隆是为了增加元数据的完整不破坏性,这种方法会独立使用子对象。

3:!"".equals(content) // 一个非空判断语句 content的值不为空

4:padding  margin

  padding说的是控件内部的间隔逻辑,即控件里面的内容与控件自身边缘(上下左右)的距离,而margin说的是     控件自身与其他相邻控件(上下左右)之间的距离。

5:关于throws

  throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主  函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。如下面例子所示:

     static void pop() throws NegativeArraySizeException {
  //定义方法并抛出NegativeArraySizeException异常
  int [] arr = new int[-3];//创建数组
}
public static void main(String[] args) {//主方法
try {
pop(); //调用pop()方法
} catch (NegativeArraySizeException e) {
System.out.println("pop()方法抛出的异常");//输出异常信息
}
}

6:r.layout.**与r.id.**  引入布局文件和引入控件实例 一般是先引入布局在引入该布局中的控件实例

7:除了给按钮获取到布局控件时还有什么时候需要用到类型转换?

  为什么要类型转换   1)findViewById(R.id.button).getClass().getName();            2)Button button = (Button) findViewById(R.id.button);

  button是view的子类但是就像车子有很多种,如果不指定是摩托车还是自行车的话就不知道到底   找的是哪种车,所以要转换。

  什么时候需要转换:只要是返回值的类型和你需要的类型不一致或者是返回类型为父类但是你需要子类的时候就要强制类型转换

8:关于objiect  Object 数据类型可以指向任意数据类型的数据,包括您的应用程序识别的任意对象实例。当您在编译  时不知道变量可能指向哪种数据类型时,就用 Object。

9:空字符串和null有什么区别:   null代表内存中根本没有这个东西但是空字符串的话是占有一定空间的只是里面没有内容

10:.isEmpty()和.equals("")方法去判断空有什么区别?   仔细读官方的API:  Returns true if the string is null or 0-length.  因为你从EditText返回的  是一个变量。如果这个变量本身为null值,那么你掉它的equals方法是要报错的。但是如果你调用TextUtils.isEmpty()  把这个变量作为参数传进去。只要这个参数为空或者为“”,都会返回真。所以,用官方给的更加严谨。而且。也十分方便。  因为你单独去判断你还不是要写一个if语句判断。返回的还是一个boolean值,为何别人铺好的路不走呢?  还有==null

The method makeText(Context, CharSequence, int) in the type Toast  is not applicable for the arguments (new View.OnClickListener(){}, String, int)    context的参数没弄正确要制定当前的类对象

11:@Override到底有什么用

  @override有注释文档的作用,可有可无有点像鸡肋但它对于编程粗心的人可是个很人性化的功能  如果想重写父类的方法,比如toString()方法的话,在被重载的方法前面加上@Override ,这样编译的时  候系统可以帮你检查方法的正确性,如下   

@Override  public String toString(){...}这是正确的  如果将toString写成tostring  @Override  public String tostring(){...}编译器可以检测出这种写法是错误的,提醒你改正  而如果不加@Override  public String tostring(){...}这样编译器是不会报错的,它会认为是你在类中加的新方法

12:什么叫做抽象类?

  一种特殊的类,并且不能被实例化,这点和接口十分像。抽象类可以包括抽象方法,这是普通类所不能的。抽象方法  只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。

13:this,super怎么用,有什么区别?

  this一般是指当前对象 super指父类的对象  this:1)引用当前对象的方法时要用但是并不是必须2)当传入的参数和当前对象的参数相同则必须指明谁是谁

  使用super:

class Person{
public int c;
String name;
private int age;
protected void setName(String name){
this.name=name;
}
protected void setAge(int age){
this.age=age;
}
protected void print(){
System.out.println("Name="+name+" Age="+age);
} public class DemoSuper extends Person{
public void print(){
System.out.println("DemoSuper:");
super.print();
}
}
}

android(eclipse)编程中常见的java问题总结(四)的更多相关文章

  1. 并发编程中.net与java的一些对比

    Java在并发编程中进行使用java.util.concurrent.atomic来处理一些轻量级变量 如AtomicInteger AtomicBoolean等 .Net中则使用Interlocke ...

  2. Unity3D游戏开发之C#编程中常见数据结构的比较

    一.前言 Unity3D是如今最火爆的游戏开发引擎,它可以让我们能轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型的互动内容.它支持2D/3D游戏开发,据不完全统计,目前国内80%的手机游戏都 ...

  3. python编程中常见错误

    python编程培训中常见错误最后,我想谈谈使用更多python函数(数据类型.函数.模块.类等)时可能遇到的问题.由于篇幅有限,我们试图将其简化,特别是一些高级概念.有关更多详细信息,请阅读学习py ...

  4. 跟着拉大锯大神学Android——网络编程中运行后台服务器端口占用问题

    拉大锯网页地址:https://www.sunofbeach.net/u/1153952789488054272 跟着拉大锯大神学Android,在学到网络编程时,使用了大神搭建的用于学习的后台服务器 ...

  5. 网络编程中常见地址结构与转换(IPv4/IPv6)

    1. sockaddr/sockaddr_in/in_addr (IPv4).sockaddr6_in/in6_addr/addrinfo (IPv6) struct sockaddr { unsig ...

  6. Eclipse编程中免除alt+斜杠,设置自动提示

    用eclipse进行编程时,设置自动提示 .abcdefghijklmnopqrstuvwxyz@

  7. Java编程中的一些常见问题汇总

    转载自  http://macrochen.iteye.com/blog/1393502 每天在写Java程序,其实里面有一些细节大家可能没怎么注意,这不,有人总结了一个我们编程中常见的问题.虽然一般 ...

  8. android: 多线程编程基础

    9.1   服务是什么 服务(Service)是 Android 中实现程序后台运行的解决方案,它非常适合用于去执行那 些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖于任何用户界面,即使 ...

  9. Android UI编程之自定义控件初步——ImageButton

    我想我们在使用一些App的时候,应该不会出现一些“裸控件”的吧.除非是一些系统中的软件,那是为了保持风格的一致性,做出的一些权衡.我这里并非是在指责Android原生的控件不好看,说实在的,我很喜欢A ...

随机推荐

  1. pat02-线性结构3. 求前缀表达式的值(25)

    02-线性结构3. 求前缀表达式的值(25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 算术表达式有前缀表示法.中缀表示法和后缀表示法 ...

  2. BNU27935——我爱背单词——————【数组模拟】

    我爱背单词 Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class name:  ...

  3. nyoj 1192——Salvation——————【搜索】

    Salvation 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 神秘瀑布镇是一个神秘的地方,那里有吸血鬼,狼人,巫师,二重身. Klaus(吸血鬼祖先) 为了利用 ...

  4. Wp及Windows应用商店程序Logo生成器

    在开发wp或windows应用商店程序时,需要制作不同分辨率下的logo,往往不同分辨率下的logo仅仅是图片尺寸或图片的内边距不同,为了快速生成不同分辨率下的图片,减少工作量,于是就自己动手开发了个 ...

  5. [SQL SERVER系列]工作经常使用的SQL整理,实战篇(一)[原创]

    工作经常使用的SQL整理,实战篇,地址一览: 工作经常使用的SQL整理,实战篇(一) 工作经常使用的SQL整理,实战篇(二) 工作经常使用的SQL整理,实战篇(三) 目录概览: 1.数据库 2.表 3 ...

  6. Ubuntu Cloud Image in Openstack

    Ubuntu出的云环境镜像(http://uec-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img),已经 ...

  7. TextView来实现跑马灯的效果

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  8. qt打开url

    QDesktopServices::openUrl(QUrl(QLatin1String(“http://blog.const.net.cn“)))

  9. broadcastemit

    http://code.angularjs.org/1.0.2/docs/api/ng.$rootScope.Scope#$broadcast scope可以以类似于DOM事件的方式进行事件传播.事件 ...

  10. mvc4站点支持.html

    MVc站点在配置通配符后,还需要配置这个才能支持.html.在自定义的路由中加入.自定义代码就可以支持子定义的html了.