A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小狼 于 2013-8-23 22:40 编辑
继承中的构造方法 学习笔记
1.创建子类对象时,首先要创建父类的对象,默认子类对象构造方法第一句会对父类对象的构造方法进行调用
2.当子类的构造方法没有显式的调用父类构造时系统会为每一个子类的构造方法第一行添加默认的super();来调用父类的构造方法,如果在子类的构造方法中声明了调用父类构造方法,则系统将不再为子类构造方法生成对父类构造方法的默认调用语句


注:
不管是否显式使用super调用来执行父类构造的初始化,子类构造器总会调用父类构造器一次,子类构造器调用父类构造器分为以下几种情况:
1.子类构造器执行体的第一行使用super显式调用父类的构造器,系统将根据super调用里传入的实际参数列表调用父类的构造器。
2.子类构造器执行体第一行代码使用this显示式调用子类中重载的构造器,系统将根据this调用里传入的实际参数列表调用本类中另一个构造器,执行本类中另一个构造器时即会调用父类构造器。
3.子类构造器执行体中既没有super调用,也没有this调用,系统将会在执行子类构造器之前,隐式调用父类中无参的构造器。
  不管上面那种情况,当调用子类构造器来初始化子类对象时,父类构造器总会在子类构造器之前执行。

评分

参与人数 1技术分 +1 收起 理由
夜默 + 1

查看全部评分

回复 使用道具 举报
小狼 发表于 2013-8-23 22:39
本帖最后由 小狼 于 2013-8-23 22:40 编辑
继承中的构造方法 学习笔记 1.创建子类对象时,首先要创建父类 ...

可以弄背景的>?很好哟!!
回复 使用道具 举报
丿Show╭尛__儍 发表于 2013-8-24 18:34
可以弄背景的>?很好哟!!

哈哈,在高级编辑里面有啊!
回复 使用道具 举报
本帖最后由 小狼 于 2013-8-24 21:41 编辑
今天好累..........知识大大的增加,今天与大家分享一下设计模式吧
工厂设计模式-------------开发流程
   1.制作接口
       interface TestInter{}
   2.制作满足接口标准的实现类
      class Instance implements TestInter{}
   3.制作工厂
    (1)私有化构造方法
    (2)提供一个公共的静态的方法,返回值类型是接口,返回的对象是接口的实现类
单例设计模式------------开发流程
   1.私有化构造方法
       private Person(){}
   2.声明一个私有的静态的当前类的对象,并进行实例化
       private static Person p = new Person();
   3.对外提供一个公共的静态的方法,获得上面的那个对象
       public static Person getInst(){
            return p;
       }

点评

很棒。赞一个  发表于 2013-8-24 23:15
回复 使用道具 举报 1 0
今天在奔波了40多个小时后从新疆来到了北京,来到这个陌生的城市,只为了一个梦想。

评分

参与人数 1技术分 +1 收起 理由
夜默 + 1 有梦想,有行动,我们的未来不会平淡的过下.

查看全部评分

回复 使用道具 举报
今天复习了一下按字节截取字符串,并将按gbk和utf-8两种方式的截取进行了整合,但是总感觉不妥,尤其是getSubstring方法感觉参数过多,不利于阅读,欢迎大家指正啊
  1. package stringtest;

  2. import java.io.UnsupportedEncodingException;

  3. public class CutStringByBytes {

  4.         public static void main(String[] args) throws UnsupportedEncodingException {
  5.                 String str = "sh你好f哈av我们ba";
  6.                 for(int i=0;i<str.getBytes("gbk").length;i++){               
  7.                         String s = CutStringByBytes.cutString(str, i, "gbk");
  8.                         System.out.println(s);
  9.                 }

  10.         }
  11.        
  12.         public static String cutString(String str,int len,String charsetName) throws UnsupportedEncodingException{
  13.                 byte[] buf = str.getBytes(charsetName);
  14.                 int count = 0;
  15.                 for(int x=len-1;x>=0;x--){
  16.                         if(buf[x]<0)
  17.                                 count++;
  18.                         else
  19.                                 break;
  20.                 }
  21. //                int radix = 3;
  22.                 String subString = null;
  23.                 if("utf-8".equals(charsetName))
  24.                         subString = getSubstring(len, charsetName, buf, count, 3);
  25.                 else if(charsetName.equals("gbk"))
  26.                         subString = getSubstring(len, charsetName, buf, count, 2);
  27.                
  28.                 return subString;
  29.         }

  30.         public static String getSubstring(int len, String charsetName, byte[] buf,
  31.                         int count, int radix) throws UnsupportedEncodingException {

  32.                         if(count%radix==0)
  33.                                 return new String(buf,0,len,charsetName);
  34.                         else if(count%radix==1)
  35.                                 return new String(buf,0,len-1,charsetName);
  36.                         else if(count%radix==2)
  37.                                 return new String(buf,0,len-2,charsetName);
  38.                
  39.                 return null;
  40.         }

  41. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
夜默 + 1

查看全部评分

回复 使用道具 举报
今天是学习集合第二天   感觉有点跟不上了    努力吧      坚持
回复 使用道具 举报
楼主头像是真爱么?       基友一辈子啊
回复 使用道具 举报
张俊生 发表于 2013-8-23 17:22
8月8   基础班,  现在面向对象的三大特征之一继承

8.8 基础班的,在黑马论坛的不少呢。
回复 使用道具 举报
yxz 中级黑马 2013-8-29 20:28:46
30#
今天终于实现了任意进制和任意进制之间的互转算法,制作了一个无懈可击的进制转换函数,思路在下面。

(1)        n进制转10进制:
n进制中,每一位数值*n^(该数码的当前排位-1)之总和,得10进制的值。
(小数部分算法:每一位数值*n^(-(1++))之总和,得10进制小数的值。)

(2)        10进制转n进制:
用10进制数值/n,得余数,直到10进制的值小于n,把所有余数排序颠倒,得到n进制的值。
(小数部分算法:用10进制数值小数部分*n,记录新结果的整数部分,直到连续记录多次都为零时,停止记录。如遇无限循环小数,给予最大记录范围,停止记录。所有记录的整数部分,就是n进制的小数部分)

(3)        n进制转m进制:n-->(1)-->(2)-->m

(4)        10进制小数转2进制浮点:
整数部分直接转2进制,小数部分(通过对比每次0.5^(1++)累加之和,大于小数部分标记为0,小于等于标记为1)转成2进制。根据IEEE(32/64/128位)浮点标准,移位小数点,记录移动量。根据IEEE标准分配各部分二进制数值到相应位置即可。

(5)        2进制浮点转10进制:逆向(4)的步骤即可。

评分

参与人数 1技术分 +1 收起 理由
夜默 + 1

查看全部评分

回复 使用道具 举报
多 线程

1,线程是进程中的一个控制单元,一个进程至少有一个线程

2,线程的创建有两种方式:

第一种方式:定义一个类并覆盖thread类中run方法,创建线程并调用start方法

       a,why要覆盖run方法?原因在于,thread类用于描述线程,thread类中的run方法是用于存储线程要运行的代码

       b,创建线程,如果调用自定义类中方法,则仅仅是对象调用方法,二创建了线程并未运行

3,线程中有5种运行状态

4,获取当前线程对象static Thread currentThread();

     获取线程名称getName();

第二种创建方式:1,定义类实现Runnable接口

2,覆盖Runnable接口中的Run方法

3,通过Thread类创建线程对象

4,通过Thread接口的子类对象作为实际参数传递给Thread类的构造函数

5调用thread类的start方法开启线程并调用Runable接口子类的run方法

这种创建方式的好处:避免了单继承的局限性,在定义线程时建议使用时限方式







回复 使用道具 举报
本帖最后由 苏联兵 于 2013-8-30 00:54 编辑

今天上课的第二天,知识不是太多,最重要的是知道该怎么整理知识了,每天都开始总结了,也开始写技术博客了,俗话说完事开头难,等熬过去了也就好了
回复 使用道具 举报
     今天蛮累的,在听课学习的同时还的需要提前学习心得知识,只是为了实现自己的黑马梦,下面是今天学习成员方法的其中的一部分笔记,还是有些深度的,写在这儿,供大家参考,并提出心得知识点和深层次的知识。      语法格式:
权限修饰符 方法返回值类型 方法名(形参列表){
        //方法体      
}
1.方法名——要见名知意,能确定这个方法的功能和作用

2.参数列表
  (1)如带参数,每个参数必须声明其参数类型,中间用逗号分隔
   (2)参数仅仅是声明,不能有值
2.方法返回值类型——可以有也可以没有的
(1)如方法没有返回值,需要在方法定义位置处声明void,表示方法没有返回值
     注意:void声明方法也可以return语句,但不能返回具体的值,执行到return语句,方法将立即返回/结束
(2)如方法有返回值,必须要方法定义位置处声明具体的返回值类型,只能声明一个
    注意:方法声明返回值,在方法体中必须进行对应类型数据的返回;return语句一定不能少
  (3)方法体——方法具体的执行语句
    这是关于成员方法的一些知识点,加油,自己。。。。。

回复 使用道具 举报
集合类很多有木有啊,,,,看了好久的视频终于有点头绪了,不过几天一过又忘了许多,好记性不如烂笔头啊,重新看了视频后自己写笔记好点,以后就看笔记了,自己感觉如果要找到合适的集合类除了要知晓各个集合的特点还有就是平时积累的经验。

集合类Collection与Map
Collection单列集合
List  该集合是有序的,存储顺序和取出顺序是一致的,元素可以重复,。集合中的元素都有索引。重点:列表迭代器ListIterator。
  ArrayList 底层结构是数组结构,线程不安全,查询块。
  Vector    底层结构是数组结构,线程安全。删除查询都慢。
  LinkedList底层结构是链表结构,线程不安全,增删块。
                            
Set 该集合是无序的,元素不可重复。
    HashSet   底层数据结构是哈希表。
    LinkedHashSet(有序的)
     TreeSet   底层数据结构是二叉树数据结构,可以对元素排序。
Map双列集合(键必须唯一)
Hashtable 底层数据结构是哈希表,同步的,不允许有null作为键,null作为值。
   Properties
HashMap  底层数据结构是哈希表,不同步,允许有null作为键,null作为值。替代了Hashtable
   LinkedHashMap(有序的)
TreeMap  底层数据结构是二叉树数据结构,可以排序。

希望对大家有用吧,各个集合的特点。

回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马